Job Fit Analyzer is a web application designed to facilitate job seekers and recruiters in the hiring process. It includes features such as job posting, job application, profile management, and AI-powered job recommendations.
The project consists of a Next.js application that handles both the frontend and backend, with API interactions for core functionalities. Additionally, a Flask server is used exclusively to serve the endpoint for AI-powered job recommendations.
- Admin
- Job Seeker
- Recruiter
- Full CRUD operations on:
- Applications
- Users
- Jobs
- Etc.
- Apply for a job.
- View/Update Profile.
- Create and edit their profiles with relevant information.
- View Applications.
- Upload CV/Resume.
- Verify Email and Phone number.
- Post a Job.
- Manage job status and details.
- View Applicants of the job.
- Download applicant’s CV.
- Accept or reject an application.
- Implementing a job search functionality with filters for:
- Location
- Industry
- Job type
- And more.
- Application Submission:
- Send confirmation email when a job seeker applies for a job.
- Application Acceptance:
- Notify job seeker via email when their application is accepted.
- Application Rejection:
- Notify job seeker via email when their application is rejected.
- The AI system should analyze user preferences and job listings to provide personalized job recommendations.
- React
- Next.js
- TypeScript
- Emotion
- Material UI
- Prisma
- NextAuth.js
- Nodemailer
- React Hook Form
- Day.js
- React Icons
- Sonner
- Zod
- Brevo (SendinBlue)
- Flask
- NumPy
- Pandas
- scikit-learn
- fuzzywuzzy
Ensure that you have the following:
-
Clone the project repository: Use Git to clone the project repository to your local machine.
git clone https://github.com/M0Leo/job-fit-analyzer.git
-
Navigate to the Project Directory Change your current directory to the project folder.
cd job-fit-analyzer -
Set up environment variables:
Simply add the environment variables in your application by creating a .env file based on the provided .env.example template and replacing the example values with your actual configuration.
-
Install project dependencies: Use npm to install the project dependencies specified in the package.json file.
npm install
-
Prisma configurations & Database seeding
npx prisma migrate dev
Seeding the database
npm run seed
-
Run Flask server
npm run flask-dev # or npm run flask-prod -
Run for development mode
npm run dev
-
Build & Start for production mode
npm run build npm run start

