-
Notifications
You must be signed in to change notification settings - Fork 10
Home
Fluent CMS is an open-source content management system designed to simplify the workflow for web development. By dynamically generating APIs and web pages based on schema definitions, Fluent CMS reduces repetitive tasks and accelerates project development.
- Dynamic Schema: No more hard coding. Change your schema definition, and Fluent CMS updates your backend and frontend automatically.
- API Generation: Automatically generate CRUD APIs based on your schema definitions.
- Flexible Frontend: Use any frontend framework or library to create dynamic web pages.
- Database Integration: Seamlessly integrates with popular databases like SQL Server, PostgreSQL, and MySQL.
- Extensible: Easily extend and customize functionalities with plugins and modules.
- .NET Core SDK
- A supported database (SQL Server, PostgreSQL, MySQL)
- Node.js (optional, for frontend development)
-
Clone the Repository
git clone https://github.com/your-repo/fluent-cms.git cd fluent-cms
-
Set Up the Database
- Create a new database in your preferred database server.
- Set the connection string in your environment variables:
export ConnectionStrings__DefaultConnection="YourDatabaseConnectionString"
-
Build and Run the Application
dotnet build dotnet run
-
Access the CMS Open your browser and navigate to
http://localhost:5000
to access the Fluent CMS.
Fluent CMS uses a schema definition file to generate APIs and web pages. You can find the schema definition in schema.json
. Here’s an example:
{
"Entities": {
"Article": {
"Title": "string",
"Content": "string",
"PublishedDate": "datetime",
"Author": "string"
}
}
}
Update the schema.json
file to define your entities and their attributes. Fluent CMS will automatically generate the necessary APIs and web pages based on this schema.
To create a new entity, add it to the schema.json
file:
{
"Entities": {
"Product": {
"Name": "string",
"Description": "string",
"Price": "decimal",
"InStock": "boolean"
}
}
}
Once your schema is defined, Fluent CMS generates the following endpoints for each entity:
-
GET
/api/{entity}
: Retrieve all items -
GET
/api/{entity}/{id}
: Retrieve a single item by ID -
POST
/api/{entity}
: Create a new item -
PUT
/api/{entity}/{id}
: Update an existing item by ID -
DELETE
/api/{entity}/{id}
: Delete an item by ID
Fluent CMS does not enforce any specific frontend framework. You can use React, Angular, Vue, or any other library to build your user interface. Simply make HTTP requests to the generated APIs to interact with your data.
We welcome contributions from the community! To contribute:
- Fork the repository
- Create a new branch for your feature or bugfix
- Make your changes
- Submit a pull request
If you encounter any issues or have questions, please check the FAQ or open an issue.
Feel free to customize this wiki homepage to better fit your specific Fluent CMS implementation and additional features.