Free Mentors is a social initiative where accomplished professionals become role models to young people to provide free mentorship sessions.
- Prerequisites
- Tools
- Getting Started
- Installing the Api
- Running Tests
- API Endpoints
- External Links
- Author
Before you clone this repo ensure that you have the following already installed on your machine
- Visual Studio Code: get it here, OR any text editor OR IDE of your choice
- git: get it here.
- Node.js: get it here.
- PostgreSQL: get it here.
- Postman is the only complete API development environment, and flexibly integrates with the software development cycle.
- Testing ..* Mocha A javascript testing framework. ..* Chai A test assertion library for Javascript.
- Swagger is an open-source software framework backed by a large ecosystem of tools that helps developers design, build, document, and consume RESTful Web services
- Pivotal Tracker is the agile project management tool of choice for developers around the world for real-time collaboration around a shared, prioritized backlog.
- Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.
- Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.
- Coveralls consolidates the results from a suite of static analysis tools into a single, real-time report, giving your team the information it needs to identify hotspots, evaluate new approaches, and improve code quality(from crunch base).
To clone this repo run the following command
[email protected]:JackieBinya/free-mentors-challenge-final.git
- Run the following command on your terminal run to install all dependencies listed in the package.json file
npm install
- Then proceed to create a .env file, then set up all the environmental variables listed in the .env.sample file.
- To start your server, run the following command on the terminal
npm dev:start
To run the test for the api
npm test
These are the endpoints for this api :
HTTP Method | Endpoint | Functionality |
---|---|---|
POST | /api/v1/auth/signup |
Creates a new user account |
POST | /api/v1/auth/signin |
Allows an existing user to sign in |
PATCH | /api/v1/user/:userId |
Change a user to a mentor. |
GET | /api/v1/mentors |
Get all mentors |
GET | api/v1/mentors/:mentorId |
Get a specific mentor |
POST | api/v1/sessions |
Create a mentorship session request |
PATCH | api/v1/sessions/:sessionId/accept |
A mentor can accept a mentorship session request |
PATCH | api/v1/sessions/:sessionId/reject |
A mentor can reject a mentorship session request |
GET | api/v1/sessions |
Get all mentorship session requests |
-
UI Template for the application can be found here Github pages.
-
Pivotal Tracker Stories can found here Pivotal tracker.
-
Application was deployed to Heroku. Use public URL https://free-mentors-final.herokuapp.com/ with API endpoints.
-
API Documenttion was generated with swagger.