Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/robgietema/nick
Nearly Headless CMS
https://github.com/robgietema/nick
cms rest-api
Last synced: about 5 hours ago
JSON representation
Nearly Headless CMS
- Host: GitHub
- URL: https://github.com/robgietema/nick
- Owner: robgietema
- License: mit
- Created: 2022-02-27T10:46:38.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-06T19:44:35.000Z (7 months ago)
- Last Synced: 2024-10-12T14:42:49.467Z (about 1 month ago)
- Topics: cms, rest-api
- Language: JavaScript
- Homepage: https://nickcms.org
- Size: 2.42 MB
- Stars: 10
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
README
# Nick: Nearly Headless CMS
## Introduction
[Nick](http://nickcms.org) is a (nearly) headless CMS written in Node.js which provides a RESTful hypermedia API. The API is compatible with the [REST API](https://plonerestapi.readthedocs.io/en/latest/) of the [Plone CMS](http://plone.org) and can be used together with the web frontend [Volto](https://voltocms.com/).
## Documentation
[https://docs.nickcms.org](https://docs.nickcms.org)
## Getting started
A live demo of Nick with the latest release is available at:
[https://demo.nickcms.org](https://demo.nickcms.org)
Example `GET` request on the portal root
curl -i https://demo.nickcms.org -H "Accept: application/json"
## Installation
### Prerequisites
- [Node.js==16.x.x](https://nodejs.org/)
- [PostgreSQL](https://www.postgresql.org/)### Create Database
$ CREATE DATABASE nick;
$ CREATE USER nick WITH ENCRYPTED PASSWORD 'nick';
$ GRANT ALL PRIVILEGES ON DATABASE nick TO nick;### Bootstrap Project
$ 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](http://yeoman.io) and @robgietema/generator-nick using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)).
$ 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](https://github.com/robgietema/nick/issues)
- Source Code: [https://github.com/robgietema/nick](https://github.com/robgietema/nick)
- Documentation [https://docs.nickcms.org](https://docs.nickcms.org)## Support
If you are having issues, please let us know via the [issue tracker](https://github.com/robgietema/nick/issues).
## License
MIT License. Copyrights hold Rob Gietema.
See [LICENSE.md](LICENSE.md) for details.