A content management system (CMS) is an application that is used to manage web content, allowing multiple contributors to create, edit and publish. Content in a CMS is typically stored in a database and displayed in a presentation layer based on a set of templates.
When we look at CRM or intuitive web applications with modules like users, admin, dashboards, we can relate them to CMS. CMS applications allow content creation, publish and management of content as per privileges assigned to users.
We have open source and paid CMS. CMS can be direct desktop applications or open source software that helps to build applications with speed and ease. One can consider it being similar to a development environment where before building an application , we prefer to look for online themes built on the same stack. This helps to build our application UI faster.
We have many advantages of developing applications over CMS :-
1. When we build applications from scratch we need to decide our architecture,stack and theme. With full stack CMS available in the market, we get the entire frontend-backend architecture and theming at our end.
- This helps us to focus on business logic and fine lining the architecture as per our business needs.
- Therefore, this also reduces time to market.
- Designers can be involved in making intricate changes as all html pages come prepared with related css.
- Working with such robust architecture helps in improving coding practices for future development.
Below is a comparison of two very popular and open source CMS in the market – Nodebeats and KeystoneJS.
|CreatedBy||Bitsbeat||Thinkmill and other contributors with MIT license|
|Authentication||Token Based,Two factor enabled||Credential Encryption|
|Integrated Modules||login, signup , dashboard, users, admin, images gallery, blogs,blogs , contact lists and settings(both backend and frontend)||Home,Blog,gallery,contact and signup(pug files for frontend)|
|Architecture||Mean stack architecture with Backend being modular dao based node.
Frontend :- MVC architecture with Services,
UI follows observable pattern
|Backend having Modular dao based architecture .
Frontend files are pug files .
Follows server side rendering of pages.
|Database||MongoDB ,comes with default configuration||MongoDB, no default configuration provided.|
|Image Management||Cloudinary (comes with default setup)||Cloudinary|
|Email Management||Postmark, Mailgun, Google SMTP, Sendgrid||mandrill, media.ly for media embedments|
|Analytics||Google Analytics configured.||No third party analytics configured.|
|Extensible||Extensible but robust architecture restricts developers to modify existing module pattern||Highly extensible and less cluttered.|
|Website & github||Website :- https://www.nodebeats.com/Github:-||Website :- https://keystonejs.comGithub :- https://github.com/keystonejs/keystone-demo|
by Pragya Thakur