Final year project — a web application to help candidates prepare for technical interviews using AI-powered question generation, interactive practice sessions, scoring, and feedback.
NOTE: This README is written to be framework-agnostic. If your repo uses a specific structure (frontend/backend, Next.js, NestJS, etc.), update the sections below to match your project layout and scripts.
- Features
- Tech stack
- Repository structure (example)
- Getting started
- Testing & linting
- Deployment
- Contributing
- License
- Maintainer & contact
- Acknowledgements
- FAQ
- AI-generated interview questions (multiple difficulty levels)
- Interactive practice sessions with timed questions
- Automatic or manual answer evaluation and feedback
- Candidate progress tracking and session history
- Admin interface to manage question banks, categories, and difficulty
- Extensible AI provider integration (OpenAI, other APIs, or local models)
- Primary language: TypeScript
- Styling: CSS
- Possible frontend frameworks: React / Next.js
- Possible backend frameworks: Node.js (Express) / NestJS
- AI integration: OpenAI or another provider (configurable via env)
- Database: PostgreSQL / SQLite / MongoDB (configurable)
Adjust this to match the actual layout in your repo.
- /frontend — client application (React / Next.js)
- /backend — API server (Node / Express / NestJS)
- /packages — (monorepo style, optional)
- /scripts — build / maintenance scripts
- /docs — documentation and design notes
- /migrations — DB migrations
- README.md — this file
- .env.example — example environment variables
- Node.js (>= 16)
- npm (>= 8) or yarn
- A database if the project persists data (Postgres, SQLite, etc.)
- AI provider API key (if using an external AI service)
Clone the repository and install dependencies:
git clone https://github.com/Shravan250/AI-Interview-Platform.git
cd AI-Interview-Platform
# If project is monorepo or has frontend/backend:
# cd frontend && npm install
# cd ../backend && npm install
npm install
# or
yarn installIf you have separate apps (frontend/backend), run install inside each folder.
Create a .env file (or .env.local) at project root or inside each app folder and add required variables. Example:
# Example .env
PORT=4000
DATABASE_URL=postgres://user:pass@localhost:5432/ai_interview
OPENAI_API_KEY=sk-...
JWT_SECRET=supersecret
NODE_ENV=developmentKeep secrets out of version control. Commit an .env.example with placeholders instead.
If single-app:
npm run devIf separate apps:
# frontend
cd frontend
npm run dev
# backend
cd backend
npm run devCommon scripts (adjust if your repo uses different names):
- npm run dev — start dev server (frontend/backend)
- npm run build — build for production
- npm start — run production server
- npm test — run tests
- npm run lint — run linter
npm run build
npm startFor separate apps run the build/start commands inside each directory.
Run tests and linters if they exist:
npm test
npm run lintAdd or update tests to cover core flows: question generation, evaluation, user auth, and API endpoints.
Deploy the frontend to Vercel, Netlify, or similar. Deploy the backend to Heroku, Render, Railway, or any container platform.
- Ensure environment variables are set in the provider
- Ensure production build commands match the provider settings
- Configure database and migrations in deployment environment
Contributions are welcome.
Suggested workflow:
- Fork the repository
- Create a feature branch:
git checkout -b feat/some-feature - Commit changes with clear messages
- Open a Pull Request describing the change and any migration or environment updates
Please add tests for new functionality and follow existing code styles.
This project currently has no explicit license file. If you want to open source it, consider adding an MIT or Apache-2.0 LICENSE file.
Maintainer: Shravan250 (GitHub profile: https://github.com/Shravan250)
- Final year project
- AI and open-source communities
Q: How do I change the AI provider? A: Replace the AI integration module in the codebase (search for files that call the provider client) and update environment variables to match the new provider.
Q: Where do I add new interview questions?
A: If there is an admin UI or a data folder, add them there. Otherwise, check backend routes/endpoints for question management (e.g., /api/questions).