Skip to content

PawanGulati/LearnTogether

Repository files navigation

LEARN TOGETHER

You’ll never study alone again

Join the largest global student community online and say goodbye to lack of motivation



What is this APP?

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.

App Services

  • Requestings done by Students
  • Bookings down by Mentor
  • Following done by any user

Request Creation

image

Rooms and Sessions

image

Scheduling

image

Profiles

image

Features to STUDENT

image

Features to MENTOR

image

Tech Used

  • ReactJS
  • NodeJS
  • ExpressJS
  • MongoDB
  • REDUX
  • Material UI
  • Jest
  • Heroku

SETUP

Installs and Configs

  • 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
  • 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

Testing

  • Framework used in this repo is JEST

"image"


  • 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



Thank you for visiting my repository, feel free to contribute and open issues and PRs if you like