bharathkkb / peer-tutor

Peer tutor is an app which allows classmates to connect with each other and help each other advance in their academics.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Peer Tutor

Peer tutor is an app which allows classmates to connect with each other and help each other advance in their academics.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

docker
docker-compose
Node.js
Angular CLI

Installing

Running the backend API server

Clone this repo dev branch is for dev will have the latest bits

stg branch is for staging

prd branch is for production deployment

cd peer-tutor-api
docker-compose -f deploy-api.yml up --d

This will get all the dependencies, build the system and run the server The endpoint will be http://localhost:5000/test/api

To see the API documentation please go to http://localhost:5000/test/api/ui/

To stop the API server

cd peer-tutor-api
docker-compose -f deploy-api.yml down

P.S This server will be ephemeral i.e data inserted into mongodb will lost when you run docker-compose -f deploy-api.yml down

For production we have persistent docker volumes and replica sets

Running the frontend

To run the Angular frontend. First, go to the Angular directory:

cd peer-tutor-ui/angular

Then, install the required node modules:

npm install

Finally, run this command to run the Angular frontend on browser:

ng serve -o

Running the tests

First launch the test server by following instructions to run the backend API server

cd peer-tutor-api
pytest -q test_api.py --url=http://localhost:5000

Built With

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • We sincerely thank Weiwei Cao, our advisor, for all the guidance and help.

About

Peer tutor is an app which allows classmates to connect with each other and help each other advance in their academics.

License:MIT License


Languages

Language:TypeScript 45.5%Language:Python 42.7%Language:HTML 10.2%Language:JavaScript 0.9%Language:CSS 0.7%Language:Shell 0.0%