Skip to content
/ sonicjs Public
forked from lane711/sonicjs

SonicJS is a Modern Open Source NodeJs Based Content Management System

License

Notifications You must be signed in to change notification settings

hitmc/sonicjs

 
 

Repository files navigation

Visit SonicJs.com for Details, Videos & Docs

https://sonicjs.com

Site Den NodeJs Content Management System (CMS)

Image of Siteden Logo

Overview

Site Den is a content management system built on the following tech stack:

  • NodeJs
  • Mongo DB
  • Express
  • Angular
  • Bootstrap 4

Table of Contents

  1. Screen Shots
  2. Project Status
  3. Goals And Motivation
  4. Setup
  5. Sponsers

Screen Shots

Manage Content Types:

Manage Content Types

Adding a Field to a Content Type:

Add Field to Content Type

Creating a Blog Post (Form is auto-generated):

Add Field to Content Type

Manage Field Types:

Manage Field Types

Project Status

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

Goals And Motivation

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:

  1. Web Developers
  2. Web Designers
  3. 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.

Setup

  1. Make sure Mongo Db is running: mongod
  2. Install Angular Tools with npm install -g @angular/cli
  3. Install Loopback Tools with npm install -g loopback-cli
  4. Edit the mongoUrl and dbName setting in /routes/mongo-dal.js
  5. Install dependencies with npm install
  6. To run the app: npm start
  7. To Debug the app: Use the built in debug from VS Code
  8. cd client
  9. ng serve
  10. node server.js for nodemon
  11. ng build --deploy-url=/admin/

##Debugging

  1. From VS Code Extension, install the Debugger for Chrome extension

Automated Browser Testing

node e2e/content-types.ts

Sponsers

This Project is supported by Surge

About

SonicJS is a Modern Open Source NodeJs Based Content Management System

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 44.8%
  • TypeScript 23.1%
  • JavaScript 18.8%
  • HTML 13.3%