V-Interview is a full-stack web application designed to help job seekers prepare for interviews using AI-driven question generation and automated performance evaluation. Users can simulate specialized interviews, receive real-time feedback, and track their progress over time.
This project is an excellent learning resource for developers interested in:
- Full-Stack Development: Integrating a Next.js 15+ frontend with a Django REST Framework backend.
- AI Integration: Using Google Gemini AI to generate context-aware interview questions and provide detailed feedback.
- Deployment & DevOps: Hands-on experience with production deployments on Render (Backend/DB) and Netlify (Frontend).
main: The "Production" branch. Use this for stable deployment to Render and Netlify.dev: The "Development" branch. Use this for local coding, testing new features, and debugging before merging tomain.
Render offers a Free Tier, but note that PostgreSQL may require a credit card for verification (you won't be charged on the free plan).
Sign up at render.com using your GitHub account.
- From the Render Dashboard, click New + → PostgreSQL.
- Name:
v-interview-db - Plan: Free
- Click Create Database.
- Once created, copy the Internal Database URL (needed for the next step).
- Click New + → Web Service.
- Connect this GitHub repository.
- Configure the following:
- Name:
v-interview-backend - Root Directory:
V-Interview-Backend - Environment:
Python 3 - Build Command:
./build.sh - Start Command:
gunicorn vinterview_backend.wsgi.application --bind 0.0.0.0:$PORT - Instance Type: Free
- Name:
In your Render Web Service settings, go to the Environment tab and add:
| Key | Value |
|---|---|
DATABASE_URL |
Paste Internal Database URL from Step 2 |
SECRET_KEY |
Your unique Django secret key |
DEBUG |
False |
ALLOWED_HOSTS |
v-interview-backend.onrender.com |
CORS_ALLOWED_ORIGINS |
https://your-frontend-link.netlify.app |
GEMINI_API_KEY |
Your Google Gemini API Key |
Click Save Changes and wait for the service to deploy.
Once live, visit:
- API Status:
https://v-interview-backend.onrender.com/api/ - Documentation:
https://v-interview-backend.onrender.com/api/docs/
Netlify is free and does not require a credit card for standard deployments.
- Log in to Netlify and click Add New Site → Import an existing project.
- Connect your GitHub repository.
During the setup screen, ensure these fields are correct:
- Base directory:
V-Interview-Frontend - Build command:
npm run build - Publish directory:
V-Interview-Frontend/.next
Scroll down to Environment variables and add:
| Key | Value |
|---|---|
NEXT_PUBLIC_API_URL |
https://v-interview-backend.onrender.com/api |
Important
Ensure the URL ends with /api. Without this, the frontend will encounter 404 errors when trying to reach the backend.
Click Deploy Site. Once finished, Netlify will provide you with a .netlify.app URL.
- Clone the repo:
git clone -b dev https://github.com/ELfassiMohamed/V-interview-Deploy.git - Backend:
cd V-Interview-Backend- Create a
.envfile with your local settings. pip install -r requirements.txtpython manage.py migratepython manage.py runserver
- Frontend:
cd V-Interview-Frontend- Create a
.env.localpointing tohttp://localhost:8000/api. npm installnpm run dev
