This Microservices-based REST API, built with Java and Spring Boot, manages job listings, companies, and reviews. Each service is independently developed and deployed, allowing for easy scaling and maintenance. The API supports CRUD operations for companies, jobs, and reviews, with services communicating through RESTful endpoints.
MIT License
This REST API is designed to manage job listings and reviews for various companies, utilizing a microservices architecture. Built with modern development practices, the API ensures scalability, maintainability, and fault tolerance, offering comprehensive endpoints for managing companies, jobs, and associated reviews.
The system is composed of independent microservices, each responsible for a specific domain:
Clone the repository:
git clone https://github.com/Mansoor-P/jobsmicroservices.git
cd jobsmicroservices
Configure the databases:
Update the application.properties
or application.yml
files in each service with your database credentials.
Build and package each service:
mvn clean install
Start the Service Registry:
cd service-registry
mvn spring-boot:run
Start the microservices:
cd ../company-service
mvn spring-boot:run
cd ../job-service
mvn spring-boot:run
cd ../review-service
mvn spring-boot:run
Run API Gateway and other services as needed.
To deploy the microservices architecture, Docker can be used for containerization. Alternatively, you can deploy each service to your cloud provider of choice (e.g., AWS, Azure, GCP).
GET /companies
: Retrieve all companies.POST /companies
: Create a new company.GET /companies/{id}
: Retrieve details of a specific company.PUT /companies/{id}
: Update a company's details.DELETE /companies/{id}
: Delete a company.GET /jobs
: Retrieve all job listings.POST /jobs
: Create a new job listing.GET /jobs/{id}
: Retrieve details of a specific job.PUT /jobs/{id}
: Update a job listing.DELETE /jobs/{id}
: Delete a job listing.GET /reviews
: Retrieve all reviews.POST /reviews
: Create a new review.GET /reviews/{id}
: Retrieve details of a specific review.PUT /reviews/{id}
: Update a review.DELETE /reviews/{id}
: Delete a review.We welcome contributions! Please follow these guidelines:
git checkout -b feature/new-feature
).git commit -m 'Add new feature'
).git push origin feature/new-feature
).This project is licensed under the MIT License - see the LICENSE file for details.