Site Den is a content management system built on the following tech stack:
- NodeJs
- Mongo DB
- Express
- Angular
- Bootstrap 4
Manage Content Types:
Adding a Field to a Content Type:
Creating a Blog Post (Form is auto-generated):
Manage Field Types:
Overall, the project is in an early POC and Planning Phase. Below is a list of features and their associated status. The features in the "Complete" section indicate parts of the application that have reached the initial POC stage. This project should not be used in a production setting.
The actual front end website generated by the back-end is currently a work-in-progress
Complete Features:
- Serve dynamic data-driven content
- Create custom content types (ie: Pages, Menus, Blog Posts, Books, Movies, etc)
- Create custom field types to be used as the building blocks for content types (ie: Textbox, Select List, Tags, Layout, etc)
- Create content, each instance with it's own unique URL
- Bootstrap 4 based admin theme
- Bootstrap 4 based front end theme
Planned Features:
- Security (User managements, roles, login, registration, etc)
- Themes, ability to switch front end theme
- Theme Library, collection of pre-built front end theme
- Modules, extend capabilities AND extend/override core functionality
In short, the goal of this project is to create a NodeJs based CMS with the flexibility of Drupal and the front end editing capabilities of some of Wordpress' top page builder plugins.
The audience for this CMS project in order of precedence are:
- Web Developers
- Web Designers
- Site Builders (Non-technical)
Ultimately this project will allow developers to build complex web applications, not just websites with the goal of cutting down development time by providing basic core functionality similar on most web application projects.
Modules can be built (using NodeJs) or added from the community repository. This allows the system to be extended not only in meeting custom requirements but also the alteration of core functionality (Similar to Drupal).
I started this project because I have established a recent affinity to NodeJs although I'm primarily a Asp.Net/C#/SQL Server developer by day. There wasn't an existing NodeJs CMS project with lofty enough goals to perhaps someday become a highly trusted web application platform/CMS.
- Make sure Mongo Db is running:
mongod
- Install Angular Tools with
npm install -g @angular/cli
- Install Loopback Tools with
npm install -g loopback-cli
- Edit the
mongoUrl
anddbName
setting in/routes/mongo-dal.js
- Install dependencies with
npm install
- To run the app:
npm start
- To Debug the app: Use the built in debug from VS Code
cd client
ng serve
node server.js
for nodemonng build --deploy-url=/admin/
##Debugging
- From VS Code Extension, install the Debugger for Chrome extension
node e2e/content-types.ts
This Project is supported by Surge