Aira.AI is a full-stack interview practice platform with AI-powered question generation, answer evaluation, and performance reporting. It combines a React + Vite frontend with an Express + MongoDB backend and integrates with OpenRouter for AI-driven interview content.
-
backend/server.js- backend server entrypointsrc/app.js- Express app setup with middleware and routessrc/controllers/- business logic for authentication and interview flowssrc/models/- MongoDB schemas for users and interview sessionssrc/routes/- API routes for auth and interview featuressrc/db/db.js- MongoDB connection helpersrc/services/openRouter.service.js- OpenRouter AI service integrationsrc/middlewares/auth.middleware.js- JWT auth middleware
-
frontend/src/App.jsx- main React app componentsrc/main.jsx- React entrypoint and router setupsrc/routes/AppRoutes.jsx- public and protected application routessrc/routes/ProtectedRoute.jsx- route guard for authenticated accesssrc/pages/- UI pages including Home, Login, Interview, History, Report, Dashboard, Analytics, Settings
-
User authentication
- register
- login
- get user profile
- username updates
- password verification and change
- account deletion
-
AI-driven interview flows
- generate interview questions for a selected role, difficulty, and type
- submit answers for timed questions
- receive AI-generated feedback and scored evaluation
- complete interviews and generate a summary report
- view past interview history and individual reports
-
Frontend pages
- landing/home page
- authentication page
- protected dashboard experience
- interview practice session
- interview history
- analytics
- settings
- report view
- Backend server runs on
http://://aira-ai-backend.onrender.com/ - Frontend dev server runs on
http://localhost:5173 - Backend CORS is configured for
http://localhost:5173 - Protected API routes expect a
Bearer <token>header - Auth flow stores
userandtokeninlocalStorage
cd backend
npm install
cd ../frontend
npm installCreate a .env file in backend/ with the following values:
MONGO_URI=<your-mongodb-uri>
JWT_SECRET=<your-jwt-secret>
OPENROUTER_API_KEY=<your-openrouter-api-key>Note: the backend currently uses a mock AI mode for interview question generation and evaluation. To enable real AI calls, update the
USE_MOCKconstant inbackend/src/controllers/interview.controller.js.
cd backend
npm run devcd frontend
npm run dev- Authentication endpoints are under
POST /api/auth/* - Interview endpoints are under
POST /api/interview/*andGET /api/interview/* backend/src/services/openRouter.service.jssends messages tohttps://openrouter.ai/api/v1/chat/completions- The interview controller currently uses
USE_MOCK = trueand mock responses for evaluation and question generation
npm run dev- start backend with nodemon
npm run dev- start Vite dev servernpm run build- build production frontend assetsnpm run preview- preview the built frontendnpm run lint- run ESLint checks
frontend/dockerfileis included for containerizing the frontend app- Build a frontend image from the
frontenddirectory with Docker
- The frontend login/register form posts to
http://://aira-ai-backend.onrender.com//api/auth - Protected pages require a logged-in user stored in localStorage
- Interview sessions are saved in MongoDB and can be retrieved as history or report entries
- add production environment setup and deployment guide
- complete AI integration by toggling
USE_MOCKand handling OpenRouter prompts reliably - improve error handling and user feedback on frontend
- add tests for backend controllers and frontend pages
Krishna Krishnatrey(FUll Stack Developer)
Shamit Gautam(AI Application Developer)
Utsav Sharma(DevOps Engg.)