RawCMS is an headless CMS written in asp.net core build for devopers that embrace API first tecnology. RawCMS uses MongoDB as data storage and is ready to be hosted on Docker containers.
The mission of RawCMS
RawCMS is a modular application build on asp.net core+mongo db stack. It is developed after clashing against the limits or most common opensource headless CMS. The aim of this proejct is to create a new cms, community supported, that may ovecome such limitations.
Actually RawCMS is in progress, but the target is to be:
- Modular Each module is shippend into a nuget package that can be added to the system to gain new features
- Headless RawCMS doesn't include any presentation logic. All is delegate to the caller. This aims to create a scalable and reusable system
- Packaged RawCMS must be shipped into a single deploable package or added into an existent asp.net core applicatio as nuget package.
- Extensible RawCMS must be customized by the user through extension only. So, no changes to the code will be done. Just adding new packages.
- Buildless RawCMS must give the possibility to manage an installation without need to manage a codebase or a code repository. Will be possible to add lambas code at runtime.
- Caller Friendly Produce data in many format to help integration (Odata,GraphQL)
If you are interested in contriubuting just open an issue to start a converstion. Helps wanted.
Actually you have 3 options to start using RawCMS:
- run a docker instance using
docker pull arduosoft/rawcms-previewor see dockerhu page to get more options like docker compose file.
- download the zip and deploy a a regular asp.net core application from github releases
- fork the repository and customize (the deploy as you want)
You can find all we have on Github wiki. There is user documentation for user, developer and contributors.
- store and filter any data using mongodb expression
- docker container ready
- data validation
- possibility to add business logic on the backend
- authentication against external Oauth2 server
- proviede Oauth2 tokens and store users into local db
- possibility to create custom endpoint
- Upsert and incremental update
- GraphQL data query
- CRUD controller must manage exceptions and errors
- Update is in "replace mode". No upsert or incremental save are allowed
- No UI to manange entities
- No data data relation
PHASE 1 - POC
- Dynamic entity managment
- Expose with regular web api services and swagger
- Schema definition and validation
PHASE 2 - Be ready for production
- Expose with graphQL
- Authentication and permission
- Lambda Http
- Plugin system
- Client to automate operations
PHASE 3 - Ready to send rocket on Mars
- Expose with Odata
- Test and client sample
- design UI for schema managment
- design UI for data managment
This software is published under the GNU General Public License v3.