MockInt is a mock interview platform designed to enhance interview preparation through real-time collaboration and communication. Built with the MERN stack, socket.io, and peerjs, MockInt offers a seamless and interactive interview experience.
- User authentication and authorization
- Start or join an interview using a room ID
- One-on-one audio and video calls with peerjs
- Collaborative text editor and code editor
- Real-time communication using socket.io
- Backend: Node.js, Express
- Database: MongoDB
- Frontend: React, Tailwind CSS
- Real-time Communication: socket.io, peerjs
-
Clone the repository:
git clone https://github.com/manthankhawse/Interview-Platform.git cd Interview-Platform
-
Install backend dependencies:
cd backend npm install
-
Install frontend dependencies:
cd ../frontend npm install
-
Set up environment variables:
Create a
.env
file in thebackend
directory and add the following:MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret
-
Start the backend server:
cd backend npm start
-
Start the frontend server:
cd ../frontend npm run dev
- Sign up or log in to your account.
- Choose to start an interview or join an interview.
- If starting an interview, share the generated room ID with the interviewer.
- If joining an interview, enter the room ID shared by the interviewee.
- Once connected, use the audio and video call feature for communication, and collaborate using the text editor and code editor.
- Real-time Communication: Implemented efficient and reliable communication between browsers using socket.io, which facilitated real-time data exchange and client connectivity.
- WebRTC Simplification: Simplified WebRTC integration with peerjs, enabling smooth and accessible audio and video communication.
- Collaborative Tools: Developed collaborative text and code editors to enhance the interview experience, allowing real-time editing and sharing of information.
Contributions are welcome! Please open an issue or submit a pull request for any features, bug fixes, or enhancements.
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature/your-feature
) - Open a pull request