A simple e-commerce app to learn advanced topics in microservices distributed architecture.
A microservice provides user management using spring security.
This Application show how to secure a real-world application.
- Clean code
- JWT authentication filter
- Password Security
- Database Authentication
- User Roles and Authorities
- Logging user actions ,login success,failure ...
- User Lockout using Spring security events
- Two Factor Authentication using Google Authenticator
- CSRF and CORS protection in spring security
- Automatically Unlocking Accounts After Period of Time
- Unit and integration test using JUnit 5
A microservice provides product management using spring boot.
- Search product,queries,suggestion using elasticSearch
- Manage product categories,merchants using postgresSql
- Expose service through REST and Grpc API's
- Unit test using groovy and spock framework
- A springBoot application use liquibase to versioning and execute database creation and initialization scripts
A folder contains the deployment files for all microservices using :