Free and Open Source API and Admin powered by LoopBack and Angular
This is a complete rewrite of The Project Formerly Known As Loopback Angular Admin.
Please refer to the Work in Progress section to find out what needs to be implemented to be production ready
Colmena CMS is a starter kit for an API with an Admin interface that can be easily extended and built upon.
It is built using a collection of great Open Source projects, including but not limited to:
- LoopBack
v2.x
- API server based on Express. - Angular
v4.x +
- MVC framework to build web apps. - Fireloop - Awesome Real-Time integration of Loopback and Angular.
- CoreUI - Amazing Bootstrap Admin Template.
The project consists of 2 components, the API and the Admin interface.
This project is built with node and therefore node
(v6.x) and npm
(v3.x) need to be available on your machine.
Additionally it uses p-s to run the project, which is recommended to be installed globally:
$ npm i -g p-s
First clone the repository to get the project files:
$ git clone https://github.com/colmena/colmena-cms
$ cd colmena-cms
From inside the project dir (colmena-cms
) run npm install
:
$ npm install
This command should also trigger running npm install
in the API and Admin directories using the npm postinstall
step.
From inside the project dir (colmena-cms
) enter the api
directory and run npm install
:
$ cd api
$ npm install
From inside the project dir (colmena-cms
) enter the admin
directory and run npm install
:
$ cd admin
$ npm install
Currently there is now way to build the project, it can only be run in development mode.
From inside the project dir (colmena-cms
) run INITDB=1 nps dev
:
$ INITDB=1 nps dev
This will start the API and the Admin in the same terminal, and by using INITDB=1
the sample data will be loaded.
- The API listens on http://0.0.0.0:3000.
- The Admin listens on http://0.0.0.0:9000.
You can also start the two components separately:
$ cd api
$ nps dev
$ cd admin
$ nps dev
By default the development stack assumes that the API and Admin are both started on localhost (using 0.0.0.0
).
When this is not the case, the admin needs to know on which IP address it can reach the API. In order to do this, you
need to specify the api.baseUrl
config property, which you can control using the API_BASE_URL
environment variable.
$ API_BASE_URL=http://192.168.12.34:3000 nps dev
Make sure to leave out the trailing slash in the
API_BASE_URL
variable.
You should now be able to connect to the Admin on http://192.168.12.34:9000 and it should connect to the API.
For a list of all the commands available run nps
in the project dir or in one of the components.
Colmena CMS is still a work in progress and not all functionality is built yet.
- Almost no ACLS are implemented, this means that the API can be used by whoever has access to it
- There is no advanced user management
- The interface does not reflect the user role (admin/manager/user)
- Content will be leaking across domains, while this should not be possible
This is a warning and can be safely ignored.
The reason this warning is shown is because Colmena CMS Admin uses Angular 4.x but depends on a couple of packages that expect Angular 2.x. This will be resolved when the dependencies are going to support Angular 4.
This is a warning and can be safely ignored.
In Angular 4 <template>
got deprecated in favor of <ng-template>
. While Colmena CMS Admin has upgraded, most of its
dependencies still use <template>
. This will be resolved when the dependencies are going to update this.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Support us with a monthly donation and help us continue our activities. [Become a backer]
Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]