This README provides guidelines for Mentor Matching Machine API, used to receive and send data to the web application Mentor Matching Machine.
- Getting Started
- Prerequisites
- Installation
- Running
- Routes and Methods
- Status Codes
- Deployment
- Built With
- Contributors
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.
nodejs=> v10.19.0npm=> v6.14.4- All the
constvariables with a url address must be changed tohttp://localhost:5000
git clone https://github.com/devarias/techstars-backend.gitcd techstars-backend./dependencies.sh=> In this file you'll find all the node package modules to install.- Everything is installed and ready to run.
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.
| 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 |
| 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 |
| 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 |
| 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 |
| Route | Method | Description |
|---|---|---|
api/meetings |
get |
To get all the data of the meetings |
api/meetings |
put |
To update (cancel) a meeting |
| Route | Method | Description |
|---|---|---|
api/pending |
get |
To get all the data about the pending mentors to be scheduled |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Route | Method | Description |
|---|---|---|
api/table |
get |
To get the table of the meetings once are generated |
| 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 |
- The deployment of this RESTful API was made in Heroku Platform to be tested.
- NodeJS
- PostgreSQL
- Sequelize
- ExpressJS
- npm
- Sendgrid
- Python
