This repository contains a microservices architecture project developed with Spring Boot and Docker. It includes separate services for user management and course management, utilizing MySQL and PostgreSQL databases respectively.
This project demonstrates a basic microservices architecture with two main services:
- User Management Service: Handles user-related operations.
- Course Management Service: Manages course-related operations.
Both services are containerized using Docker and utilize MySQL and PostgreSQL databases.
The architecture consists of:
- User Service: Manages user data stored in a MySQL database.
- Course Service: Manages course data stored in a PostgreSQL database.
- Spring Boot: For creating microservices.
- Docker: For containerizing applications.
- MySQL: As the database for the user service.
- PostgreSQL: As the database for the course service.
- Docker Compose: For managing multi-container Docker applications.
- Java 11+
- Maven
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/CarlosPuent/Microservices-Architecture-Project.git cd Microservices-Architecture-Project
-
Build the services using Maven:
cd user-service mvn clean install cd ../course-service mvn clean install
-
Run the services using Docker Compose:
cd .. docker-compose up --build
Once the services are up and running, you can access them at the following URLs:
- User Service:
http://localhost:8081
- Course Service:
http://localhost:8082
GET /users
: Retrieve all users.POST /users
: Create a new user.
GET /courses
: Retrieve all courses.POST /courses
: Create a new course.
This project is licensed under the MIT License. See the LICENSE file for details.