An API development in Java and Spring Boot of a job board that allows companies to post job opportunities and users apply to them and track their application progress.
- 🔴 = TODO
- 🟠 = DOING
- 🟢 = DONE
| Functionality | Status |
|---|---|
| User registration and authentication (candidate and company roles) | 🟠 |
| Jobs publishing | 🔴 |
| Jobs application | 🔴 |
| Resume upload | 🔴 |
| Candidate matching | 🔴 |
| Email notifications | 🔴 |
| Realtime chat | 🔴 |
- Java 17
- Spring Boot 4
The project follows the layer architecture to isolate responsibilities and for easier testing. This architecture also establishes a dependency pipeline as shown bellow:
Controller -> Service -> Repository -> Database
- Clone project
- inside of project folder execute
./gradlew buildto build the project - Then execute
./gradlew bootRunto run
The project is in the first stages of development, bellow is the progress checklist:
- Project setup and Hello World
- REST API CRUD operations
- Database & JPA
- Validation & Error Handling
- Authentication - Spring Security
- Authorization and Roles
- Advanced Relationships and Quering
- Service Layer & Business Logic
- File Upload & Storage
- Email & notifications
- Caching
- API documentation
- Testing
- Queues and Asynch processing
- Websockets - Realtime
- Search - Elasticsearch
- Performance optimization
- Monitoring and Observability
- CI/CD & deployment
- Security hardening
This is a personal project for learning purposes, feedback is wellcome so open an issue and submit a PR.
All rights reserved to Rafael Marcos.