## 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. - [Documentation](https://git.armada.digital/meeting-planner/documentation) - [Frontend](https://git.armada.digital/meeting-planner/frontend) # Backend architecture - [API endpoints](https://git.armada.digital/meeting-planner/documentation/src/branch/master/api-documentation.md) - [Database design](https://dbdiagram.io/d/5e769ab14495b02c3b88936f) - [Flowchart](https://app.diagrams.net/#Uhttps://git.armada.digital/meeting-planner/documentation/raw/branch/master/meetingscheduler.drawio) ## Backend installation ### 1 | Create a database on Postgres Any up to date postgres should work. You will need the following informations: - username - password - hostname - database ### 2 | Create and/or configure an `.env` file - 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 (NodeJS needs to be installed) - `npm i` ### Migrate tables to database - `npx knex migrate:latest` ### Seed database with dummy content (optional) Running this will add some users and meetings. - `npx knex seed:run` **List of users** | 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 |