Nick: Nearly Headless CMS
Introduction
Nick is a (nearly) headless CMS written in Node.js which provides a RESTful hypermedia API. The API is compatible with the REST API of the Plone CMS and can be used together with the web frontend Volto.
Documentation
Getting started
A live demo of Nick with the latest release is available at:
Example GET
request on the portal root
curl -i https://demo.nickcms.org -H "Accept: application/json"
Installation
Prerequisites
Create Database
$ CREATE DATABASE nick;
$ CREATE USER nick WITH ENCRYPTED PASSWORD 'nick';
$ GRANT ALL PRIVILEGES ON DATABASE nick TO nick;
Bootstrap Installation
$ yarn bootstrap
Development
Run backend
$ yarn start
Testing
$ yarn test
Yeoman Generator
If you want to create your own project and use Nick as a dependency you can use the Yeoman generator package for that. This way you are able to customize your project without making changes to the core of Nick.
Installation
First, install Yeoman and @robgietema/generator-nick using npm (we assume you have pre-installed node.js).
$ npm install -g yo
$ npm install -g @robgietema/generator-nick
Creating a new project
$ yo @robgietema/nick my-nick-project
This will bootstrap a new Nick project inside the current folder.
Boostrap the project
Create a database and a user with the correct permissions for your project (see above for details) and then bootstrap Nick with:
$ cd my-nick-project
$ yarn bootstrap
$ yarn start
Contribute
- Issue tracker: https://github.com/robgietema/nick/issues
- Source Code: https://github.com/robgietema/nick
- Documentation https://docs.nickcms.org
Support
If you are having issues, please let us know via the issue tracker.
License
The project is licensed under the MIT License.