PeerPrep is a code challenge platform that allows it's users an opportunity to connect and collaborate with other like-minded programmers to solve classic Leetcode problems.
This process is done through a matching system to match users, connecting them via WebSockets and enabling them to work with one another using a collaborative code editor.
The following showcase displays some screenshots of the production application in action, after deployment to AWS.
More on the project requirements and a specification document of what has been implemented can be found under the /docs portion of this repository.
Note: Even after running this setup, you will not have the ability to run the application as production endpoints such as databases deployed on AWS have been taken down to prevent accumulating costs
Prerequisites
- Have Docker Desktop installed on your machine
- Ensure Docker Daemon is running (Docker Desktop is open)
- Have Node.js 18 and above installed on your machine
- Have npm installed on your machine
- Install firebase tools on your machine using
npm install -g firebase-tools
- Unzip
secrets.zip
and place.env
files in root folder of each microservice. For example, the.env
file in the secrets/user-service folder goes into the user-service folder in this project
In root directory of the project
- In another terminal, Change directory to user-service directory using
cd user-service
- Install npm packages using
npm i
- Change directory to user-service/functions directory using
cd functions
- Install npm packages using
npm i
- Go back to user-service directory using
cd ..
- Run the user-service using
npm run firebase
- In another terminal, change directory to frontend directory using
cd frontend
- Install npm packages using
npm i
- Run first instance of the app locally using
npm run devuser1
- Run second instance of the app locally using
npm run devuser2
- In your web browser, two separate tabs should be open
- Sign in with two different Google accounts for testing
- In another terminal, change directory to frontend directory using
cd frontend
- Install npm packages using
npm i
- Run first instance of the app locally using
npm run produser1
- Run second instance of the app locally using
npm run produser2
- In your web browser, two separate tabs should be open
- Sign in with two different Google accounts for testing