Microservices App for Car Marketplace
- carmarketplace-ui - UI
- carmarketplace-apigateway - Api Gateway
- carmarketplace-car-info-svc - Car Info Services
- carmarketplace-car-listing-svc - Car Listing Service
- carmarketplace-user-svc - User Service
- carmarketplace-imgstore-svc - Image Store Service
- carmarketplace-config-server - Config Server
- carmarketplace-discovery-server - Discovery Server
- carmarketplace-config - Configuration
- https://hub.docker.com/repository/docker/geekymon2/cm-ui
- https://hub.docker.com/repository/docker/geekymon2/cm-apigateway
- https://hub.docker.com/repository/docker/geekymon2/cm-car-info-svc
- https://hub.docker.com/repository/docker/geekymon2/cm-car-listing-svc
- https://hub.docker.com/repository/docker/geekymon2/cm-user-svc
- https://hub.docker.com/repository/docker/geekymon2/cm-imgstore-svc
- https://hub.docker.com/repository/docker/geekymon2/cm-config-server
- https://hub.docker.com/repository/docker/geekymon2/cm-discovery-server
- Angular
- NodeJS
- Spring Boot 3.x
- Spring Cloud 2023.x
- Spring Cloud Config
- Netflix Discovery
- Spring Cloud Gateway
- JUnit 5
- Open API Docs
- Model Mapper
- Java 17
- Lombok
- Jacoco Code Coverage
- Docker
- Docker Compose
- Maven
- Spring JPA
- H2 database
- MySQL
- H2 database for running in test profile for execution of integration testing
- JUnit 5 for unit and integration testing
- Netflix Discovery service for automatic service discovery
- Spring Cloud Config Server for centralised config
- Swagger is included in all services
- Aggregated Swagger Documentation
TODO
- Builds are automated via GitHub Actions
- For each service build scripts are present in .github/workflows/build.yml
- Build process
- checkout -> build -> test -> codecov -> docker image -> upload to dockerhub
- TODO
-
Local Environment Requirements
- Install and ensure MySQL database IS running.
- Check application.yml for connection properties
- Create DB Schemas for Services that need datastore.
-
Local Build Steps
- First build the parent pom. This is needed before others can be built.
- mvn -f pom.xml install -N
- Build again to also build the core module. Core module is a dependency across other services.
- mvn -f pom.xml install
- Now you can go and build all services under carmarketplace repos.