IAM Server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Corentin Mors 802838cb1d HOTFIX authorized doors return 6 days ago
controllers HOTFIX authorized doors return 6 days ago
models Add configuration file for server 1 week ago
public/assets Add new gulp build and minify assets 2 months ago
views Add message queue view to admin 2 months ago
.dockerignore Add dockerignore 2 months ago
.gitignore Add answer to blockchain if unauthorized user 6 days ago
Dockerfile Handle config file when using docker container 1 week ago
README.md Add db structure to readme 1 week ago
app.js Clean and comment some code 1 week ago
config.js Add test for outdated request 1 week ago
config.js.dist Handle config file when using docker container 1 week ago
docker-compose.yml Make request when phone answer and change port 1 week ago
gulpfile.js Improve gulp watching client side assets 2 months ago
package.json Make request when phone answer and change port 1 week ago

README.md

ConquistaDoor NodeJS Server

IAM Server for ConquistaDoor Software built with ExpressJS.

Installation

You must have nodejs and mongodb installed on your system, verify with :

node --version && mongo --version

Go into root folder and enter the following line in your terminal :

npm install

Install gulp (and associated components) :

npm install --global gulp-cli gulp-rename gulp-clean-css gulp-minify

If you have an error when starting gulp, you may have to link it to your project :

npm link gulp

Do the previous command for each gulp addons.

You need to copy config.js.dist to config.js and set your own parameters. Don’t do this with a Docker install.

Launch project

You may start the project with

node app

or use Gulp automation so that any modifications to files will reload the app and minify assets :

gulp

Your project is accessible at localhost:8080.

WebSocket is starting at http://localhost:4000 and answer to REST api at :8080/api/.

Deploy project + mongo and run with Docker-Compose

Simply use the following command :

docker-compose build && docker-compose up

Deploy project and run with Docker (obsolete)

Start by building node server image :

docker build -t cds/node-web-app .

Start container :

docker run cds/node-web-app:latest

You need to specify mongodb uri properly in order to get server working.

Project structure

|-- app.js (main script to start the app)
|-- config.js (configuration of server parameters)
|-- package.json (metadata and dependencies)
|-- gulpfile.js (specify files to watch)
|-- Dockerfile (docker instructions to build container with project)
|-- models
	|-- db.js (to connect to database)
	|-- users.js (define users contenttype)
	|--  ...
|-- controllers
	|-- index.js (handle response for homepage)
	|-- users.js (handle response for users contenttype)
	|--  ...
	|-- api.js (specify REST api and start WebSocket server)
|-- views
	|-- users (templates for users contenttype)
	|-- partials (templates called with 'include')
	|-- layout (templates called with 'extends')
	|-- something.html (any template used by Nunjucks)
	|-- ...
|-- public
	|-- assets (any css, js or img that need to be publicly accessible)

MongoDB structure

db structure

About design

The administrative panel template is from Ad.min which is a minimal admin template.