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 .
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.0
npm => v6.14.4
All the const variables with a url address must be changed to http://localhost:5000
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.
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