https://github.com/ngirimana/free-mentors
Free Mentors is a social initiative where accomplished professionals become role models to young people to provide free mentorship sessions.
https://github.com/ngirimana/free-mentors
Last synced: 8 months ago
JSON representation
Free Mentors is a social initiative where accomplished professionals become role models to young people to provide free mentorship sessions.
- Host: GitHub
- URL: https://github.com/ngirimana/free-mentors
- Owner: ngirimana
- License: mit
- Created: 2019-08-09T10:20:43.000Z (about 6 years ago)
- Default Branch: develop
- Last Pushed: 2020-08-20T16:12:43.000Z (about 5 years ago)
- Last Synced: 2025-01-01T16:43:34.759Z (10 months ago)
- Language: HTML
- Homepage:
- Size: 2.01 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Free-Mentors
Free Mentors is a social initiative where accomplished professionals become role models to young people to provide free mentorship sessions.
[](https://travis-ci.org/ngirimana/Free-Mentors) [](https://coveralls.io/github/ngirimana/Free-Mentors) [](https://codeclimate.com/github/ngirimana/Free-Mentors/maintainability)
## Getting Started
These are steps that should be followed by anyone who want toget a copy of project
The project is composed of two different sections:
- User Interface
- API
### Requirements
- User intrface
- Any Web Browser (We recommend using Google Chrome)
- Text Editor (VSCode is highly recommende)
- User inteface login credential for mentor and admin
##### For admin
- Email :admin@gmail.com
- password :admin
##### For mentor
- Email :mentor@gmail.com
- password :mentor
- API Endpoints
- Node JS
- Postman
## Features
- Required Features
1. Users can sign up.
2. Users can sign in.
3. Admin can change a user to a mentor.
4. Users can view mentors.
5. Users can view a specific mentor.
6. Users can create a mentorship session request with a mentor.
7. A mentor can accept a mentorship session request.
8. A mentor can decline a mentorship session request.
- Optional Features
1. Users can view all their mentorship sessions.
2. Users can review a mentor after a mentorship session.
3. Admin can delete a review deemed as inappropriate.
## API
- Required API
1. POST /auth/signup
2. POST /auth/signin
3. PATCH /user/:userId
4. GET /mentors
5. GET/mentors/:mentorId
6. POST/sessions
7. PATCH /sessions/:sessionId/accept
8. PATCH /sessions/:sessionId/reject
- Optional
1. GET /sessions
2. POST /sessions/:sessionId/review
3. DELETE /sessions/:sessionId/review
- use git bash:
1. First [download](https://git-scm.com/downloads) git bash
2. Install it
3. Clone it by running `git clone https://github.com/ngirimana/Free-Mentors.git`
4. Find the project directory from where you are tunning the git bash.
### Installing
1.For running the api
1. First download and install [Node JS](https://nodejs.org/en/download/)
2. Download and install [Postman](https://www.getpostman.com/downloads/)
3. Clone the project. [free-mentors](https://github.com/ngirimana/Free-Mentors/tree/develop)
4. Run `npm install` (`sudo apt install` for linux users) command for installing all project dependencies
## Running the tests
1. Open command prompt
2. navigate to the directory of cloned project
3. Run the automated test by running `npm run test` command
## Running the UI Template
- Just run `index.html` from the cloned project
- OR simply use gh-page to run [Free-Mentors UI ](https://github.com/ngirimana/Free-Mentors/UI/)
## Running API
- [Heroku link](/free-mentors-web.herokuapp.com/)
- [API documentation](https://free-mentors-web.herokuapp.com/api-docs)
## Used tools
- Server
- Server side Framework: [Node JS](https://nodejs.org/)/[Express](https://expressjs.com/)
- Linting Library: [ESLint](https://eslint.org)
- Style Guide: [Airbnb](https://github.com/airbnb/javascript)
- Testing Framework: [Mocha](https://mochajs.org/)
- Documentation Tools: [Swagger](https://swagger.io/tools/swagger-ui/)
- postgres:[postgress](https://node-postgres.com)
* User interface
- CSS
- HTML
- JS
## Author
[NGIRIMANA Schadrack](https://github.com/ngirimana/)
## License
LICENCE - [LICENSE](LICENCE.md)
## Acknowledgments
- [Andela Kigali](https://andela.com/)