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
Yeoman Generator
If you want to create your own project using Nick you can use the Yeoman generator package. This way you are able to customize your project without making changes to the core of Nick.
Install dependencies
First, install Yeoman, @robgietema/generator-nick and Yarn using npm (we assume you have pre-installed Node.js).
$ npm install -g yo
$ npm install -g @robgietema/generator-nick
$ npm install -g yarn
Creating a new project
$ yo @robgietema/nick my-nick-project
This will bootstrap a new Nick project inside the current folder.
Create Database
Connect to the PostgreSQL console and create a database and a user with the correct permission using the following commands:
$ CREATE DATABASE "my-nick-project";
$ CREATE USER "my-nick-project" WITH ENCRYPTED PASSWORD 'my-nick-project';
$ GRANT ALL PRIVILEGES ON DATABASE "my-nick-project" TO "my-nick-project";
Boostrap the project
Bootstrap the project using the following commands:
$ cd my-nick-project
$ yarn bootstrap
$ yarn start
Testing
$ yarn test
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.