SonicJS is a Modern Open Source
NodeJs Based Content Management System


 

Server & Front End Technologies:

  • NodeJs
  • Angular 6
  • Bootsrap 4

Databases Supported:

  • Cloudant
  • DashDB
  • DB2
  • Informix
  • MongoDB
  • MySQL
  • Oracle
  • PostgreSQL
  • Redis
  • SQL Server
  • SQLite3
 

SonicJs Screenshots


SonicJs has lofty goals as both a CMS
and an enterprise web application framework.

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.

The actual front end website generated by the back-end is currently a work-in-progress.


 

Completed Features:

  • Dynamic 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)
  • Form Generation (based on content type or class)
  • Bootstrap 4 based admin theme

Features in Progress:

  • 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
1. Web Designers
1. 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.