Go to file
2020-06-17 12:54:03 +02:00
api Correct typo: "availibility" => "availability 2020-06-02 16:51:42 +02:00
config Implement auth with jwt and add endpoints 2020-05-08 13:12:10 +02:00
data Correct typo: "availibility" => "availability 2020-06-02 16:51:42 +02:00
helpers Reorganize and improve error responses 2020-05-11 00:03:48 +02:00
middlewares Add validateParticipantID to participant routes 2020-05-11 00:25:08 +02:00
.gitignore Initial commit 2020-03-20 13:25:37 +00:00
index.js Replace bcrypt with bcryptjs / move env to config 2020-05-07 15:10:15 +02:00
knexfile.js Replace bcrypt with bcryptjs / move env to config 2020-05-07 15:10:15 +02:00
LICENSE Add basic server 2020-04-14 14:42:49 +02:00
package-lock.json Add express-validator library 2020-05-11 00:48:27 +02:00
package.json Change start script name 2020-06-17 12:54:03 +02:00
README.md Update installation instructions 2020-05-13 20:24:01 +02:00

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.

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
liza-password emile-password jack-password cynthia-password celine-password