Skip to content

Latest commit

 

History

History
143 lines (102 loc) · 3.65 KB

README.md

File metadata and controls

143 lines (102 loc) · 3.65 KB

Nyao - the open-source chat application for developers

CircleCI Build Status Dependency Status Codecov

Getting started

Docker (quickest)

It is taken for granted that you have both Docker and Docker Compose.

docker-compose up

or

docker-compose run --service-ports web npm start

Other execution options.

Node

Requirements:

npm install

Start MongoDB & Redis: (skip this step if you have them running already)

scripts/startdb.sh

Run the project (see Execution for alternative options):

npm start

Execution

Default (production):

npm start

Production (backend only):

npm run start-prod-backend

Production (frontend only):

npm run start-prod-frontend

Development:

npm run start-dev

Development (backend only):

npm run start-dev-backend

Production (frontend only):

npm run start-dev-frontend

Docker

When using Docker, npm commands can be passed by overriding the default web command:

docker-compose run --service-ports web npm start

Production

Production Docker Compose gathers the latest version from the Docker Hub.

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up

Configuration

The default configuration file resides in config/default.js. You can create your own configuration files that extend it that suit your own needs (configuration files are based on config).

To start, you should be creating a config/production.js or config/development.js, for development or production respectively, that looks like the following:

module.exports = {
  passport: {
    github: {
      clientID: 'Github client ID',
      clientSecret: 'GitHub secret key',
      callbackURL: 'http://mydomain:3000/api/auth/github/callback',
    },
    google: {
      clientID: 'Google client ID',
      clientSecret: 'Google secret key',
      callbackURL: 'http://mydomain:3000/api/auth/google/callback',
    },
  },
}

Development

Folder structure

.
├── backend
├── config
├── data
|    ├── db-data
|    └── db-session
├── docs
├── frontend
├── public
├── scripts
├── webpack
├── .babelrc
├── .editorconfig
├── .eslintrc
├── .gitignore
├── .package.json
├── .travis.yml
└── README.md