CodePioneers' Career Portal is a demo recruitment platform where applicants submit detailed profile information. Applicants build their profiles by entering details about their education, work experience, projects, skills, and languages. After applying, an AI-powered FastAPI microservice acts as the initial screening layer, scoring each applicant in real time using advanced data science algorithms and a Sentence Transformer model to evaluate their suitability for the job, helping recruiters focus on the most promising candidates first. Recruiters can then review the top-matched applicants, decide who to shortlist, and invite selected candidates for interviews. They can also create, update, and close job postings directly from the platform.
Fast API Microservice Github Repo: job-eval-backend-fastapi
- Project Overview
- Features
- Features by Role
- Technologies
- Getting Started
- API Documentation
- Running Tests
- Project Structure
- Author
-
Applicant Profile Management
Candidates can build and update profile sections (education, experience, skills, languages). -
Job Posting & Application Management
Enables recruiters to create, edit, and close job listings; filter and review incoming applications with AI scores; update statuses; and notify candidates. -
AI-Based Evaluation
Offloads semantic matching to a FastAPI microservice that leverages advanced algorithms and theall-MiniLM-L6-v2model from Sentence Transformers to compute a general suitability score. -
Real-Time Notifications
Sends email alerts to applicants upon changes in their application status. -
Role-Based Access Control
Defines three roles: User, Recruiter, Admin with scoped permissions. -
Secure Authentication
Implements JWT Bearer tokens for all protected endpoints.
- Build and update profile sections (education, experience, skills, languages)
- Apply for job postings
- Receive email notifications on application status changes
- Create, edit, and close job postings
- Review AI-generated candidate scores and profiles
- Approve or reject applications
- All Recruiter capabilities
- Manage Recruiter and Admin user accounts
- Backend Framework: Spring Boot 3.4.3
- Language: Java 17
- Database: PostgreSQL (Dockerized)
- Authentication: JWT Bearer Token
- AI Evaluation: FastAPI microservice (SentenceTransformer)
- Email Service: Spring Boot Mail
- API Documentation: Springdoc OpenAPI
- Build Tool: Maven
- Java 17
- Maven
- Docker & Docker Compose
-
Clone the repository
git clone https://github.com/rigelHadushiDev/job-eval-backend-spring.git cd job-eval-backend-spring -
Start PostgreSQL in Docker
docker-compose up -d
Update src/main/resources/application.properties with your database credentials and email settings:
spring.datasource.url=jdbc:postgresql://localhost:your_port/your_db
spring.datasource.username=your_user
spring.datasource.password=your_password
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=your-email@gmail.com
spring.mail.password=your-app-password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true./mvnw clean install
./mvnw spring-boot:runOnce running, explore all endpoints via Swagger UI at:
http://localhost:8080/swagger-ui.htmlUnit and integration tests will be added in the next update.
```
src/
├── main/
│ ├── java/com/codepionners/
│ │ ├── config/
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── repository/
│ │ ├── security/
│ │ ├── service/
│ │ └── JobEvalApplication.java
│ └── resources/
│ ├── application.properties
│ └── templates/
└── test/
```
-
FastAPI Microservice (AI Scoring): job-eval-backend-fastapi
-
React Frontend (User Interface): job-eval-frontend-react
Developed by @rigelHadushiDev