A modern, distributed job application platform built using microservices architecture. This system allows companies to post jobs and manage applications while providing job seekers with a seamless application experience.
This platform is built using a microservices architecture, which means it's composed of several independent services that work together to provide a complete job application system. Each service is containerized using Docker for easy deployment and scalability.
The system consists of the following main components:
- Config Server - Centralizes configuration management for all services
- Service Registry - Handles service discovery and registration
- Company Service - Manages company profiles and job postings
- Job Service - Handles job-related operations
- Review Service - Manages company reviews and ratings
- Backend: Spring Boot Microservices
- Database: PostgreSQL
- Service Discovery: Eureka Server
- Configuration: Spring Cloud Config
- Containerization: Docker
- API Gateway: Spring Cloud Gateway
- Database Admin: PgAdmin4
To run this application, you'll need:
- Docker and Docker Compose
- Java 17 or higher
- Maven
- PostgreSQL (if running locally)
- Clone the repository
- Navigate to the project root directory
- Run the following command:
docker-compose up
This will start all the necessary services including:
- PostgreSQL database (port 5432)
- PgAdmin4 (port 5050)
- Config Server (port 8080)
- Service Registry (port 8761)
- And all other microservices
- PgAdmin: http://localhost:5050
- Default email: [email protected]
- Default password: admin
- Service Registry Dashboard: http://localhost:8761
- API Gateway: http://localhost:8080
The application uses Spring Security for authentication and authorization. Make sure to set up proper environment variables for sensitive information like database credentials and API keys.
Each microservice is a separate Spring Boot application that can be developed and deployed independently. The services communicate with each other through REST APIs and are registered with the Eureka service registry.
job-app-microservices/
├── ConfigServer/ # Configuration management
├── companyms/ # Company management service
├── jobms/ # Job posting service
├── reviewms/ # Review management service
└── docker-compose.yaml # Docker composition file
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.