The project "AI-Powered Real-Time Interview Coach" is an innovative virtual platform designed to help users improve their interview skills through a range of interactive and AI-driven features.
-
💻 Simulated Interview Environment : The platform provides a real-time or peer-to-peer interview experience, allowing users to practice in a lifelike scenario using their webcam and microphone. This helps users develop time management skills and offers a flexible and convenient.
-
🤔 Quiz Section: The quiz system generates dynamic questions based on the user's inputs, covering any domain. The adaptive difficulty feature adjusts the complexity of questions in real-time, making it suitable for users at different experience levels.
-
❓ AI-Based Q&A Section: In this section, users receive AI-Based real-time, context-specific interview questions based on their skill level. The AI adjusts the difficulty based on the quality of the user’s responses, ensuring a personalized learning experience.
-
🤵 User Profile: Each user has a profile that tracks personal information, professional background, core skills, and the number of completed or upcoming interviews. This helps users stay organized and prepared for their interviews.
-
🚀 Future Enhancements: Planned future improvements include a real-time AI generated insights, enhanced quiz security, video call functionality that supports more participants, and better integration between the overview page and upcoming interviews.
- Frontend: Vite ReactJs ⚛️, Tailwind CSS 🎨, Tailwind 🔄, SCSS 🎭
- Backend: Node.js 🟢, Express 🚂
- Database: MongoDB 🍃
- AI Integration: Google Gemini API , Open AI API🧠
- Socket.io - For the chat and video calling functionalities 💬
- Speech to text: WebSpeech API🧠
-
Clone the repository:
git clone https://github.com/piyush0213/IIITUNA
-
Navigate to frontend
cd frontend -
Install dependencies:
npm i
-
Google OAuth Client ID Setup
- Go to Google Cloud Console.
- Navigate to APIs & Services → Credentials.
- Click Create Credentials → OAuth Client ID.
- Application type: Web Application
- Authorized JavaScript origins:
- http://localhost:5173 (for local development)
- Any other frontend URI you use
- Redirect URIs: Not needed for this setup
- Click Create and copy the Client ID.
-
Set up environment variables:
Create a
.envfile in the frontend directory and add your required environment variables according to this format:VITE_API_URL='<your-backend-api-url>' VITE_GOOGLE_CLIENT_ID='<your-google-oauth-client-id>'
Format also present in the frontend folder in the file .env.example.frontend
-
Start the development frontend server:
npm run dev
-
Navigate to backend(In Another Terminal)
cd backend -
Install dependencies:
npm i
-
Set up environment variables: Create a
.envfile in the backend directory and add your required environment variables according to this format:JWT_SECRET=<your-preferred-jwt-secret-key> MONGODB_URI=<your-mongodb-connection-string> MONGODB_URI1=<optional> GEMINI_API_KEY=<your-gemini-api-key> CLOUDINARY_API_KEY= CLOUDINARY_API_SECRET= CLOUDINARY_NAME= NODE_ENV=development PORT=3000
Format also present in the backend folder in the file .env.example.backend
-
Start the server:
npm run dev
To run both frontend and backend simultaneously:
-
Make sure you have installed dependencies for both:
npm run install-all
-
Start both servers together:
npm run dev -
Access the app: Backend → http://localhost:3000
Frontend → http://localhost:5173
⚡ Extra Notes:
npm run install-all → Installs dependencies for both frontend and backend in one go.
npm run dev → Starts both frontend and backend together using concurrently.
POST /api/v1/auth/signup: User registrationPOST /api/v1/auth/login: User loginPOST /api/v1/auth/logout: User logoutPOST /api/v1/auth/editUser: Edit user informationPOST /api/v1/auth/google: Google Login and SignupGET /api/v1/auth/getAuth: Get user authentication statusPOST /api/v1/auth/updateAvatar: Update user avatarPOST /api/v1/rooms/addroom/:roomID: Add a new roomPOST /api/v1/rooms/deleteroom/:roomID: Delete a roomGET /api/v1/rooms/getroom/:roomID: Get room informationPOST /api/v1/quiz/generate-id: Generate a quiz IDPOST /api/v1/quiz/generate-quiz: Generate a quizPOST /api/v1/quiz/save-answer: Save a quiz answerPOST /api/v1/quiz/evaluate-answer: Evaluate a quiz answerPOST /api/v1/quiz/terminate-quiz: Terminate a quiz sessionPOST /api/v1/questions/generate-questions: Generate questions for a quizPOST /api/v1/questions/chat: Interact with AI chatbot
- Piyush Prajapati - @piyush0213
- Lakshya Chauhan - @lakshya-8000cr
- Parth Sharma - @parth-476
- Jashan Kumar - @Jk-6900cr
We welcome contributions to this project! Please feel free to submit issues, fork the repository and send pull requests!
Have a great job cracking journey with [Interview.io]! 🎓✨