Welcome to the SpringBoot Microservices Starter Kit repository! This repository serves as a boilerplate for setting up Spring Boot microservices with various essential features pre-configured. Whether you're just starting your journey with microservices or looking for a robust foundation to build upon, this starter kit is designed to accelerate your development process.
- Naming Server: Eureka Naming Server for service discovery.
- Gateway: Zuul API Gateway for routing and filtering requests.
- Template Service: Template service that can be easily replicated and extended.
- Authentication: JWT authentication and token validation via the gateway.
- Database Connection: Configurations for connecting to databases.
- Auditing: Configuration and models for auditing purposes, including created and updated dates, and created by and updated by fields.
- User Roles: Role-based access control for managing user permissions.
- Proxies with Feign: Simplified communication between microservices and REST APIs using Feign.
To get started with using this starter kit, follow these steps:
-
Clone the Repository: Clone this repository to your local machine using the following command: (git clone https://github.com/your-username/SpringBoot-Microservices-StarterKit.git)
-
Configuration: Customize the configurations according to your requirements, such as database settings, JWT secret, etc. Insert default roles into the user-database: (INSERT INTO roles(name) VALUES('ROLE_USER'); INSERT INTO roles(name) VALUES('ROLE_ADMIN');)
-
Build and Run: Build and run the microservices using your favorite IDE or build tools like Maven or Gradle.
-
Explore and Extend: Explore the provided services and functionalities. Extend them to suit your specific use cases and requirements.
-
Deploy: Once you're satisfied with your modifications, deploy the microservices to your desired environment.
-
Template Service: Details on how to customize the template service are in the read-me file in template-service directory.
-
Contribute: If you find bugs or have suggestions for improvements, feel free to contribute by opening issues or submitting pull requests.
Contributions are welcome! If you encounter any issues or have ideas for improvements, please open an issue on the GitHub repository. Pull requests are also encouraged.
This project is licensed under the MIT License.