A simple production-ready backend server template for Content Management Systems built with Rust using Axum.
!!! Go through the Critical Information 🚨🚨🚨 section below before getting started !!!
_dev_utils::init_dev().await? in the main() function as this is for dev only..sql files, individual database statements should end with ;--#, failure to do this may break dev database initializationbase's generic update method. This breaks with postgres at the moment, you would have to manually cast the enum fields to a database enum using sea_query. See the update method at edit.rs for a detailed example.See here for the code implementation of all the routes
/signup: Sign up with name, email, and password/login: Login with email and password/author: get all authors/author/:id: Get specific author./post: Get all posts/post/:id: Get specific post/post/:id: Update specific post/post/:id: Delete specific post/edit: List edits by/for an author's posts/edit/incoming: List all incoming edits/edit/outgoing: List all outgoing edits/edit/:id: Get edit/edit/:id: Update edit/edit/:id: Delete edit/edit/accept/:id Accept edit/edit/reject/:id Reject editYou must have cargo-watch installed for these to work
# Run tests
cargo watch -q -c -x "test -- -- nocapture"
# Specific test with filter
cargo watch -q -c -x "test models::author::tests::test_create_ok"
# Run quick_dev exampl while developing
cargo watch -q -c -w examples/ -x "run --example quick_dev"
# Run any example while developing
cargo watch -q -c -w examples/ -x "run --example {FILE_NAME}"` # where `FILE_NAME` is the name of the file containing the test
$ claude mcp add axum-cms \
-- python -m otcore.mcp_server <graph>