The goal of this project is to implement an API gateway in a microservices project. This repository serves as a basic example of a gateway with YAML file configurations.
- Implements a gateway for routing requests to various microservices.
- Configurable via YAML files for flexible routing and filtering.
- Centralized service registry for dynamic service registration and discovery.
- Enables load balancing and fault tolerance.
- Centralized configuration management for microservices.
- Allows dynamic configuration updates.
- Manages user-related operations.
- Supports user creation, retrieval, and storage in a PostgreSQL database.
- Communicates with other services through the gateway.
- Handles notifications for users.
- Stores notification data in a MongoDB collection.
- Provides APIs for saving and retrieving notifications.
- Utilizes Spring Cloud OpenFeign for declarative REST client communication.
- Supports service discovery and load balancing through Eureka.
- User Service: Uses PostgreSQL with Hibernate for ORM.
- Notification Service: Uses MongoDB with Spring Data MongoDB for NoSQL database operations.
- Spring Boot for building microservices.
- Spring Cloud for service discovery, configuration, gateway and Feign integration.
- MongoDB and PostgreSQL as databases.
- Docker for containerization.
To get started with this project, clone the repository and follow the instructions in the respective service directories to set up and run the services.