Welcome to Jobify, a platform designed to streamline the recruitment process by automatically matching candidates' skills with job descriptions. Using matching algorithms, it simplifies the job application process for candidates and provides recruiters with more effective candidate recommendations. The goal is to create an efficient, user-friendly recruitment solution for both job seekers and employers.
- Job Post Management: Add, modify, and delete job offers with specific requirements.
- Candidate Recommendations: Receive recommendations for candidates with transferable skills.
- Job Application Notifications: Get notified when candidates match job requirements.
- Resume Feedback: Receive insights on the candidatesβ resumes and their matching scores.
- Job Matching: View a list of job offers ranked by relevance.
- Resume Submission: Submit resumes for AI analysis and get matched with relevant job offers.
- Application Status: Receive feedback on resume status to track progress in the recruitment process.
Jobify integrates with the AI-Resume Analyzer, an open-source project by Deepak Padhi. This tool parses information from resumes using natural language processing (NLP) to:
- Extract keywords.
- Cluster skills into sectors based on keywords.
- Provide recommendations, predictions, and analytics to the applicant.
The AI-Resume Analyzer enhances the resume analysis and matching process in Jobify, making the system more efficient and accurate.
AI-Resume Analyzer Repository: https://github.com/deepakpadhi986/AI-Resume-Analyzer
Jobify uses modern technologies to ensure a seamless and scalable user experience:
- Frontend: Angular, TypeScript, HTML5, CSS3, Bootstrap
- Backend: Django (Python), REST APIs
- Database: MySQL
- Authentication: JSON Web Tokens (JWT)
- Deployment: Nginx, Gunicorn, SSL for secure connections
- AI Resume Parsing: NLP-based AI-Resume Analyzer
Jobify was developed following Agile methodologies with the Scrum framework. This approach ensured iterative development, collaboration, and adaptability throughout the project.
-
Sprints: The development process was divided into three sprints, each lasting two weeks. Each sprint focused on delivering specific user stories and functionalities:
- Sprint 1: Initial setup, authentication, and job posting features.
- Sprint 2: Candidate resume submission, job matching, and recruiter notifications.
- Sprint 3: Enhancements, bug fixes, and deployment readiness.
-
Sprint Backlog: Tasks were broken down into smaller subtasks and assigned to team members during sprint planning.
-
Daily Standups: Brief meetings were held daily to discuss progress, challenges, and next steps.
-
Sprint Review: At the end of each sprint, we demonstrated completed features and gathered feedback.
-
Retrospectives: We reflected on successes and areas for improvement after every sprint, enabling continuous process refinement.
- Transparency: Regular communication and sprint reviews kept the team aligned with the project's goals.
- Flexibility: Agile allowed us to adapt to changes in requirements and priorities.
- Incremental Delivery: Working in sprints ensured a steady progression of features, with usable functionality at the end of each iteration.
Follow these simple steps to set up Jobify locally:
git clone https://github.com/MeDjb10/Jobify
cd jobify
cd frontend
npm install
cd backend
pip install -r requirements.txt
- Set up a MySQL database and configure the database settings in
backend/settings.py
.
cd backend
python manage.py migrate
cd frontend
ng serve --open
cd backend
python manage.py runserver
You're all set! Access the platform at http://localhost:4200
for the frontend and http://localhost:8000
for the backend API.
Here's a preview of the app with screenshots for key interfaces:
Watch the full demo video here.
Swagger was integrated into the backend to provide an interactive and easy-to-navigate API documentation interface:
- API Endpoints: All backend endpoints are documented automatically using drf-yasg.
- Interactive UI: Test API calls directly from the Swagger UI, located at
/swagger/
in the app. - Benefits: With Swagger, developers and external users can understand and test the backend API seamlessly.
We welcome contributions to Jobify! Hereβs how you can contribute:
- Fork the repository on GitHub.
- Create a new branch:
git checkout -b feature-xyz
. - Make your changes and commit them:
git commit -am 'Add feature XYZ'
. - Push your branch:
git push origin feature-xyz
. - Create a pull request for review.
We follow the GitFlow workflow for new features and bug fixes.
Jobify integrates JWT Authentication for secure user login, ensuring that both recruiters and candidates can access only their designated features.
Jobify boasts a clean, intuitive interface with smooth transitions between job listings, applications, and candidate notifications. The platform is designed to be user-friendly, ensuring ease of use for non-technical users.
Clone the repository, follow the setup instructions, and begin using Jobify today! Streamline your recruitment process with intelligent job matching and a seamless user experience.