Skip to content

david4tech/techstars-backend

Repository files navigation

Mentor Matching Machine API application.

This README provides guidelines for Mentor Matching Machine API, used to receive and send data to the web application Mentor Matching Machine.

Content

Getting Started

This project was built to communicate the front-end of the web application with the back-end running in this app as a RESTful API. As the first step is to receive a CSV with a specific format, this file must contain the information about the mentors, companies, the availability of the mentors to be scheduled during a week. The app analyzes the file and save all the distributed meetings in the database with all the information about the mentors and companies.
To implement this RESTful API you have to follow some instructions and requirements to use it.

Prerequisites

  • nodejs => v10.19.0
  • npm => v6.14.4
  • All the const variables with a url address must be changed to http://localhost:5000

Installation

  • git clone https://github.com/devarias/techstars-backend.git
  • cd techstars-backend
  • ./dependencies.sh => In this file you'll find all the node package modules to install.
  • Everything is installed and ready to run.

Running

  • npm run dev
    • This command will start running the API as a development environment, to apply changes during the modification of the files.
  • npm start
    • This command will start running the API as a production environment, if you want to do a change, they will not be applied to the running app.

Routes and Methods

  • Mentor Routes

Route Method Description
api/mentors get To get all the data of the mentors
api/mentors post To create a new mentor
api/mentors delete To delete an existing mentor
api/mentors/:id get To get the data about a specific mentor
api/mentors/:id put To update an existing mentor

  • Company Routes

Route Method Description
api/companies get To get all the data of the companies
api/companies/:id get To get the data about a specific company
api/companies/:id delete To delete an existing company
api/companies/:id put To update an existing company

  • Mentor Surveys Routes

Route Method Description
api/mentor_survey get To get all the data of the surveys filled by mentors
api/mentor_survey post To create a new survey filled by a mentor
api/mentor_survey/:id get To get the data about a specific survey
api/mentor_survey/:id delete To delete an existing survey
api/mentor_survey/:id put To update an existing survey
api/mentor_survey/mentor/:id get To get the data of a mentor with a specific survey

  • Company Surveys Routes

Route Method Description
api/company_survey get To get all the data of the surveys filled by companies
api/company_survey post To create a new survey filled by a company
api/company_survey/:id get To get the data about a specific survey
api/company_survey/:id delete To delete an existing survey
api/company_survey/:id put To update an existing survey
api/company_survey/mentor/:id get To get the data of a mentor with a specific survey filled by company

  • Meetings Routes

Route Method Description
api/meetings get To get all the data of the meetings
api/meetings put To update (cancel) a meeting

  • Pending Route

Route Method Description
api/pending get To get all the data about the pending mentors to be scheduled

  • Performance Routes

Route Method Description
api/performance/mentors get To get the performance of the mentors
api/performance/companies get To get the performance of the mentors

  • Reminder Routes

Route Method Description
api/reminder/mentors get To send the reminders to fill the surveys to the mentors
api/reminder/companies get To send the reminders to fill the surveys to the companies

  • Results Routes

Route Method Description
api/results/mentors get To get all the results of the surveys by mentor
api/results/companies get To get all the results of the surveys by company

  • Schedule Routes

Route Method Description
api/schedule get To get the data of the scheduled meetings
api/schedule post To create the schedule for the mentors and companies

  • Reschedule Routes

Route Method Description
api/reschedule post To preschedule and get all available spots for one or more meetings
api/reschedule put To update (reschedule) one or more meetings for a mentor

  • Table Route

Route Method Description
api/table get To get the table of the meetings once are generated

Status Codes

HTTP Status Code Description
200 Successfully response by a get method used in an endpoint
201 Successfully response by a post method used in an endpoint
400 Response by a get, post or put method used in an endpoint with an specific id
404 Response by a get, post or put method used in an endpoint with an specific id
500 Response when the server is not responding

Deployment

Built With

  • NodeJS
  • PostgreSQL
  • Sequelize
  • ExpressJS
  • npm
  • Sendgrid
  • Python

Contributors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •