api | ||
config | ||
data | ||
helpers | ||
middlewares | ||
.gitignore | ||
index.js | ||
knexfile.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
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';
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 |