A platform which brings together students and mentors to have sessions of their choice. This platform provide both the functionality of an online forum(as students and mentor interact each other, students requests events, mentor schedule it) and a scheduler(mentor can schedule a requested event or can manually create one ot have a session).
Platform let students to request certain topics and if gotten upvoted by at least one more of a fellow student on the platform a requested event can display to all the other mentors, who then can choose which requested event they want to schedule and have a session for.
- Requestings done by Students
- Bookings down by Mentor
- Following done by any user
- ReactJS
- NodeJS
- ExpressJS
- MongoDB
- REDUX
- Material UI
- Jest
- Heroku
- Make sure that
NodeJS
is installed on your machine (you can refer .nvmrc file for node version on which this project was build on) - Clone the repo from
main
branch to your local machine - To install all dependencies both on front and backend you can run
npm install // for backend
npm install --prefix client // for frontend
- setup environment variables for the project
- copy
.env.example
file - change its name to
.env
- change values of variables accordingly, required variables here are
MONGO_URL
&SECRET_JWT
- copy
- To run the project
npm run dev
NOTE: If you encounter babel-jest dependency error, follow below steps
- make a
.env
file in client folder- add
SKIP_PREFLIGHT_CHECK=true
in it- now try run the above command again
- App would be up and running on your browser
- Framework used in this repo is
JEST
- Before running test, setup environment variables for it
- replace values of variable according to you in
.env.test
file
NOTE: Try to make a different database for testing purpose as database will get drop in tests multiple times
- now to run tests, run
npm test
- you would be seeing approximatly 30 test cases would be passing