An Applicant Tracking System for managing job listings, applications, and candidate reviews. Applicants can browse open positions, submit applications with CV uploads, and receive confirmation emails. Admins can review, shortlist, and manage applications from a dedicated dashboard.
- Backend: Python, Flask, PostgreSQL (Neon), Firebase Auth, Cloudinary
- Frontend: Next.js, TypeScript, Tailwind CSS, shadcn/ui
- Python 3.12+
- Node.js 18+
- A
.envfile in/backendwith the following variables:
DATABASE_URL=
FIREBASE_CREDENTIALS=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
MAIL_USERNAME=
MAIL_PASSWORD=
COOKIE_SECURE=false
COOKIE_SAMESITE=Lax
COOKIE_DOMAIN=
SESSION_COOKIE_NAME=session
CSRF_COOKIE_NAME=csrf_token
CSRF_HEADER_NAME=X-CSRF-Token
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
flask db upgrade
python seed.py
python run.pyBackend runs on http://localhost:5000
cd frontend
npm install
npm run devFrontend runs on http://localhost:3000
/backend → Flask API, models, services, migrations
/frontend → Next.js app, components, features