https://github.com/avored/avored-rust-cms
Avored rust content management system
https://github.com/avored/avored-rust-cms
api axum axum-framework axum-middleware cms cms-backend cms-framework content-management content-management-system graphql hacktoberfest rest-api restful-api rust rust-cms rust-lang surreal surrealdb tokio tokio-rs
Last synced: 6 days ago
JSON representation
Avored rust content management system
- Host: GitHub
- URL: https://github.com/avored/avored-rust-cms
- Owner: avored
- License: mit
- Created: 2023-06-11T05:02:39.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-07T09:56:51.000Z (6 days ago)
- Last Synced: 2025-05-07T20:18:19.069Z (6 days ago)
- Topics: api, axum, axum-framework, axum-middleware, cms, cms-backend, cms-framework, content-management, content-management-system, graphql, hacktoberfest, rest-api, restful-api, rust, rust-cms, rust-lang, surreal, surrealdb, tokio, tokio-rs
- Language: Rust
- Homepage: https://avored.com
- Size: 16.7 MB
- Stars: 104
- Watchers: 8
- Forks: 24
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Avored rust content management system
AvoRed Rust CMS implement with the help of axum web framework and surrealdb as database.[](https://github.com/avored/avored-rust-cms/actions/workflows/rust-test.yml)
### Join community via slack
[](https://join.slack.com/t/avoredrustcms/shared_invite/zt-22031l11y-EYp3a3oWVVFaZ8WCWZAkJQ)## Demo admin
Please visit [Demo AvoRed Rust CMS Admin](https://demo.avored.com/admin)
## Installation
git clone https://github.com/avored/avored-rust-cms.git
cd avored-cms
cp .env .env.dev //Basically copy the .env.example file to .env
Set up your `.env.dev` file you can rename the existing `.env.prod` file make sure the database folder name, password salt, jwt secret setup properly random string and smtp information setup right if you wanted to use the forgot password feature(optional) NOTE: for local dev smtp info can be ignored.
### Start your application backend
cargo runOnce the application start you can visit `http://localhost:3000/setup` this url will create database tables and admin user once you submit it and redirect to login screen but ignore this page as we got react admin setup in progress.
### Start react application admin
cd react-admin
cp .env.example .env //Basically copy the .env.example file to .env
npm i
npm startVisit `localhost:3000/admin` to access the react admin for the portal. Right now react admin does not have many pages redone yet but work in progress.
## Features
- [x] Admin Users
- [x] Roles/Permissions
- [x] Components
- [x] Pages
- [x] Fields
- [x] Asset Manager## RoadMap
- [ ] Rest API
- [ ] GraphQL API
- [ ] Content Workflow##### Setting up full Stack project in RUST
- [x] Web Framework ([Axum](https://github.com/tokio-rs/axum))
- [x] SurrealDB ([Surreal DB](https://surrealdb.com/))
- [x] Email Views ([Handlebars](https://github.com/sunng87/handlebars-rust))
- [x] Display Form Validation Error
### Dev helpHow to do a loop inside the handlebar template
{{#each validation_message as |message|}}
{{ message.mssage }}
{{/each}}How to render a variable in handlebar template
{{ variable_name }}
How to call helper method in handlebar template
{{ helper_method_name "argument" ~}}
How to start a surreal db
surreal start --user root --pass root --bind 0.0.0.0:8000 file://test.db#### Introduction
Avored headless CMS enables efficient content management for websites, mobile apps, and various digital platforms.
By decoupling the content from the presentation layer, it gives developers the flexibility to build frontends
using their preferred technologies. With an avored headless CMS, content is centralized, making it easy to
create, manage, and seamlessly deliver it to multiple applications.Discover more about Headless CMS concepts.
###### Features
- **Comprehensive Asset Management**: Organize and manage images, media, files, and other assets with ease.
- **User-Friendly Content Management**: Simplify page content management for both technical and non-technical users.
- **Seamless Content Distribution**: Deliver your content anywhere instantly using REST APIs.