This app was designed to help both aspiring and current programmers improve their technical coding skills by pairing two users to perform a mock interview with each other. Once the interview has finished, both users will provide feedback for the other user on their strengths and weaknesses.
Try out the application at mock-interview-platform.herokuapp.com!
Kevin Yi, Nafis Uddin, Tim Rines
- React - The framework used for developing the components and UI.
- Material UI - Javascript framework for styling and CSS compartmentalization.
- Simple Peer - WebRTC wrapper used to create 2 way video chat connection.
- Node JS/Express JS - Backend used for our API routes.
- Mongo DB/Atlas - Database used to store our user and application data.
- Socket.IO - JavaScript library for creating real-time lobby and interview rooms.
- Glot - API used to run code from the code editor.
- User login/sign up authentication.
- Randomly selected interview questions based on the user's current skill level.
- Real-time code change updates on screen.
- Two-way video chat functionality using WebRTC.
- Upcoming/past practice interview dashboard for easy user experience.
If you want to run the application locally, follow the instructions below:
- Clone repository
- Install Dependencies - Run
npm install
in the root directory and client directory - Create a file with the name
.env
- Add the application secret key for authentication using
SECRET_KEY
to.env
- Add the application mongo uri
MONGO_LOCAL_URI
to.env
. Additional information to run mongoDB locally can be found here. Alternatively you can use Mongo Atlas here. - To run code from the code editor, create an account on glot.io. You can find your api key after registering here. Add glot token
GLOT_TOKEN
to.env
. - Sign up for AWS S3 and add
S3_ACCESS_KEY
,S3_ACCESS_SECRET
andS3_BUCKET_NAME
to.env
- Final
.env
appear should like below:
SECRET_KEY=<Secret key for passport.js>
MONGO_LOCAL_URI=<Your mongo uri>
GLOT_TOKEN="Token <Your glot token>"
S3_ACCESS_KEY=<Your S3 access key>
S3_ACCESS_SECRET=<Your S3 secret>
S3_BUCKET_NAME=<Your bucket name>
- Run
npm run dev
to start the server on the root directory andnpm start
on client to start the application