A backend-first AI interview platform built with FastAPI, designed to streamline technical interview preparation through secure authentication, interview management, and scalable REST APIs.
InterviewPilot is a backend application that powers an AI-driven mock interview platform. It provides secure user authentication, interview management APIs, and a scalable backend architecture that will later integrate AI-generated interview questions and personalized feedback.
The project follows RESTful API principles using FastAPI and is designed with modularity, scalability, and maintainability in mind.
Note: AI-powered interview generation is currently under development and will be integrated in a future release.
- JWT Authentication
- OAuth2 Authentication
- Secure Login & Registration
- Protected API Endpoints
- Create Interviews
- Retrieve Interview Details
- Update Interview Information
- Delete Interviews
- Manage Interview Sessions
- RESTful API Design
- Request Validation using Pydantic
- Interactive API Documentation
- Modular Route Organization
- Environment-based Configuration
- PostgreSQL Database
- SQLAlchemy ORM
- GitHub Actions CI
- Docker & Docker Compose
- Postman API Testing
- Clean Project Structure
| Category | Technologies |
|---|---|
| Language | Python |
| Backend Framework | FastAPI |
| Authentication | JWT, OAuth2 |
| Database | PostgreSQL |
| ORM | SQLAlchemy |
| Data Validation | Pydantic |
| API Documentation | Swagger UI |
| Testing | Postman |
| CI | GitHub Actions |
| Version Control | Git, GitHub |
| Environment Management | python-dotenv |
InterviewPilot/
โ
โโโ
โโโ agents/
โโโ audio_analyser/
โโโ audio_extractor/
โโโ database/
โโโ models/
โโโ routers/
โโโ schemas/
โโโ services/
โโโ utils/
โโโ orchestrator/
โโโ postman/
โโโ security/
โโโ .dockerignore
โโโ .gitignore
โโโ Dockerfile
โโโ docker-compose.yml
โ
โโโ .github/
โ โโโ workflows/
โ
โโโ requirements.txt
โโโ .env
โโโ app.py
โโโ README.md
git clone https://github.com/SLokesh1810/InterviewPilot.git
cd InterviewPilotWindows
python -m venv venv
venv\Scripts\activateLinux/macOS
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate a .env file in the project root.
Example:
GOOGLE_API_KEY="YOUR_API_KEY"
# Testing variable
USE_LLM = 'false' # If you have API key then switch it to true
# Audio storage
BASE_PATH="YOUR_BASE_PATH"
FFMPEG_PATH="FFMPEG_LOCATION"
# Database - Test
DATABASE_URL="YOUR_DB_URL"
SECRET_KEY="SECRET_KEY"Add any additional environment variables required by your local setup.
uvicorn app.main:app --reloadThe API will be available at:
http://127.0.0.1:8000
- Docker
- Docker Compose
git clone https://github.com/SLokesh1810/InterviewPilot.git
cd InterviewPilotCreate a .env file in the project root and update the required environment variables.
docker compose builddocker compose upor run in detached mode
docker compose up -ddocker compose downThe API will be available at
http://localhost:8000
Swagger UI
http://localhost:8000/docs
FastAPI automatically generates interactive API documentation.
| Documentation | URL |
|---|---|
| Swagger UI | /docs |
Example:
http://127.0.0.1:8000/docs
InterviewPilot secures protected endpoints using:
- JSON Web Tokens (JWT)
- OAuth2 Authentication Flow
- Bearer Token Authorization
The project uses PostgreSQL as its primary database.
Database interactions are handled through SQLAlchemy ORM, providing clean and maintainable database operations.
API endpoints are tested using Postman.
The project includes requests for:
- User Registration
- User Login
- Protected Endpoints
- Interview CRUD Operations
- Authentication Testing
GitHub Actions is configured to automate project workflows, helping ensure code quality and consistency during development.
- โ FastAPI Backend
- โ JWT Authentication
- โ OAuth2 Authentication
- โ PostgreSQL Integration
- โ Interview CRUD APIs
- โ API Documentation
- โ GitHub Actions CI
- ๐ AI Interview Question Generation
- ๐ AI-Based Interview Feedback
- ๐ Alembic Database Migrations
- ๐ Resume Upload
- ๐ Resume Analysis
- ๐ Email Verification
- ๐ Password Reset
- ๐ Frontend Application
- ๐ Deployment
- ๐ Comprehensive Automated Testing
This project is licensed under the MIT License.
Lokesh S
- GitHub: https://github.com/SLokesh1810
If you found this project helpful, consider giving it a โญ on GitHub!