Simple CMS built with nestjs and angular
This project is at MVP stage, please keep that in mind if you decide to use it.
With Bloke CMS you build your content with blocks:
- Text blocks
- Code blocks
- Media blocks
Blocks can be re-used across articles, sidebars* and footers* improving content creation efficiency. Content can be published by creating pages.
Client is build with angular universal meaning that first page render occures on a server and then content rendering is handled by a browser upon navigation. This approach supports search engines and provides SPA experience to a user.
* WIP feature
For educational reasons, mainly to try angular universal and nestjs.
Install Bloke CMS using blokecms-cli or fork the repository.
To create a page you must provide a title, slug and optionally add articles, sidebars and footers. For a public home page create a page with home slug.
To create public client main navigation use name main.
To style public client application create style and use name main.
To add javascript create script and use name main.
Node v16 or v18 and Mongo DB. Minimum 2GB RAM.
For production ready optimised version use blokecms-cli:
$ npx blokecms-cli@latest
$ cd blokecms/package/server
$ NODE_ENV=production node dist/main
You may want to seed user if starting the cms for first time, please read on.
See DEVELOPMENT for details and package.json scripts.
For quick setup run:
$ npm run install
$ npm run build:prepare
$ npm run build:start
and navigate to http://localhost:3000
;
You may want to seed user if starting the cms for first time, please read on.
When starting Bloke CMS you can seed user to get access to admin panel.
$ ADMIN_SEED=your_username node dist/main
or (if forked)
$ ADMIN_SEED=your_username npm run start
In terminal you will see 'Admin seed created, pwd: "..."', make a note of the password as it is displayed only once. After app is started you can login to admin panel using previously provided 'your_username' and displayed password. You can then create new admin user and delete the seed if you like.
Tested with bitnami MEAN stack on AWS using LightSail. For more details see DEVELOPMENT Deployment section.