AI-powered mock interview platform that provides personalized interview practice with real-time feedback.
MockMate/
├── app.py # Main Flask application entry point
├── config.py # Configuration management
├── run.py # Application runner script
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
├── pytest.ini # Test configuration
├── routes/ # Flask route blueprints
│ ├── __init__.py
│ ├── main.py # Main routes (landing page, health check)
│ ├── upload.py # File upload routes
│ ├── interview.py # Interview session routes
│ └── feedback.py # Feedback and reporting routes
├── services/ # Business logic services
│ ├── __init__.py
│ └── session_manager.py # Session management
├── templates/ # Jinja2 HTML templates
│ ├── base.html # Base template
│ └── index.html # Landing page template
├── static/ # Static assets
│ └── css/
│ └── style.css # Custom CSS styles
├── utils/ # Helper utilities
│ ├── __init__.py
│ └── helpers.py # Common utility functions
└── tests/ # Test suite
├── __init__.py
└── test_app.py # Basic application tests
-
Clone and navigate to the project:
cd MockMate -
Create virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
cp .env.example .env # Edit .env file with your API keys and configuration -
Run the application:
python run.py
-
Run tests:
pytest
See .env.example for required environment variables including:
- OpenAI API key for embeddings and GPT
- Weaviate database configuration
- Vapi API key for speech-to-text
- Flask configuration settings
- Resume upload and text extraction
- AI-powered interview question generation
- Voice-based interview sessions
- Real-time feedback using STAR framework
- Comprehensive performance reports
- Multiple practice modes (Mock Interview, Quick Drill, Company Prep)