A comprehensive job search and recruitment platform built with React (frontend) and Flask/SQLite (backend).
-
Dual User Types:
- Job seekers can browse jobs, upload resumes, and track applications
- Employers can post jobs and manage applicants
-
Authentication System:
- Register, login, and profile management
-
Dashboard with Analytics:
- Visual metrics using charts and graphs
- Application status tracking
-
Mock Users for Testing:
- Job Seeker: username
muser, passwordmuser - Employer: username
mvc, passwordmvc
- Job Seeker: username
- React with TypeScript
- Tailwind CSS
- shadcn/ui components
- AG Grid (for data tables)
- Recharts (for graphs and charts)
- Flask (Python)
- SQLite (Database)
- RESTful API architecture
- Install Node.js dependencies:
npm install- Start the development server:
npm run dev- Create a Python virtual environment (optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install Python dependencies:
pip install -r requirements.txt- Start the Flask server:
python app.pyPOST /api/auth/register- Register a new userPOST /api/auth/login- User login
GET /api/jobs- Get all active jobsGET /api/jobs/:id- Get a specific jobPOST /api/jobs- Create a new jobPUT /api/jobs/:id- Update a jobDELETE /api/jobs/:id- Delete a jobGET /api/employers/:id/jobs- Get all jobs posted by an employer
GET /api/users/:id/applications- Get all applications for a userGET /api/jobs/:id/applications- Get all applications for a jobPOST /api/jobs/:id/apply- Apply for a jobPUT /api/applications/:id/status- Update application statusPUT /api/applications/:id/notes- Update application notes
GET /api/users/:id/resumes- Get all resumes for a userPOST /api/users/:id/resumes- Upload a new resumeDELETE /api/resumes/:id- Delete a resumePUT /api/users/:id/resumes/:id/default- Set a resume as default
GET /api/employers/:id/stats- Get employer statisticsGET /api/users/:id/stats- Get job seeker statistics
MIT