backend/README.md
2020-09-29 00:57:13 +02:00

2.4 KiB

Meeting Planner Backend

Meeting Planner helps you find the best time to schedule a meeting across several timezones. It's based on the availibity of all participants for specific days.


URL https://meeting-planner-backend.herokuapp.com/


Backend architecture

Installation

0 | Requirements

Meeting Planner runs on virtually any system where Node.js is supported. This means it runs on Linux, macOS, Windows as well as container solutions such as Docker / Kubernetes and Heroku.

Versions

  • Postgres 9.5 or later
  • NodeJS 10.12 or later

KnexJS, the database driver used is compatible with other databases like MySQL. With small adaptation, it should be possible to use them, but this has not been tested.

1 | Configure Postgres to use UTC

** Make sure that Postgres database used is configured to UTC ** SET TIME ZONE 'UTC';

See Postgres Documentation

2 | Create and/or configure environement variables

  • Create a .env file at the root of the backend folder
  • Replace all variables noted with $ below, and save it to the .env file
NODE_ENV=development // This can't be changed for now
PORT=$port_number
DATABASE_URL=postgres://$db_user:$db_user_password@$hostname:5432/$db_name
JWT_SECRET=$long_random_characters

3 | Installation of packages with npm

  • npm i

4 | Migrate tables to database

  • npx knex migrate:latest

5 | Seed database with dummy content (optional)

Running this will add some accounts along with some meetings.

  • npx knex seed:run

Accounts created

Liza Emile Jack Cynthia Celine
liza@example.com emile@example.com jack@example.com cynthia@example.com celine@example.com
password password password password password