YAS is a pet project aim to practice building a typical microservice application in Java
- Java 25
- Spring Boot 4.0
- Testcontainers
- Next.js
- Keycloak
- Kafka
- Elasticsearch
- K8s
- GitHub Actions
- SonarCloud
- OpenTelemetry
- Grafana, Loki, Prometheus, Tempo
- Get the latest source code
- Add the following records to your host file:
127.0.0.1 identity
127.0.0.1 api.yas.local
127.0.0.1 pgadmin.yas.local
127.0.0.1 storefront
127.0.0.1 backoffice
127.0.0.1 loki
127.0.0.1 tempo
127.0.0.1 grafana
127.0.0.1 elasticsearch
127.0.0.1 kafka
- Open terminal of your choice, go to
yasdirectory, rundocker compose up, wait for all the containers up and running
Warning: To run all the containers, you need a minimum of 16GB of RAM. Otherwise, you can only run the core services with this command
docker compose -f docker-compose.yml up
- All the containers up and running then we start source connectors by run script, open any terminal window... go to the YAS root folder and type: ./start-source-connectors.sh
- Open your browser, now you can access the websites via
http://storefront/;http://backoffice/login with admin/password
Note: For the first run, the storefront and the backoffice might not work as expected. Stop all the containers (Ctrl + C) and run docker compose up again.
http://pgadmin.yas.local/. Account login:admin@yas.com/ admin. Register a server: postgres, port 5432, username admin, password admin. The Postgresql server is also exposed to the host machine: servername: localhost, port: 5432, username: admin, password: adminhttp://api.yas.local/swagger-ui/for all the REST API document of all the serviceshttp://identity/for Keycloak console, account admin/adminhttp://grafana/for observability: log, trace, matrixhttp://elasticsearch/for calling Elasticsearch APIs
- docker-compose.yml for all core services
- docker-compose.search.yml for search service
- docker-compose.o11y.yml for observability services
- Give us a star
- Reporting a bug
- Participate discussions
- Propose new features
- Submit pull requests. If you are new to GitHub, consider to learn how to contribute to a project through forking
By contributing, you agree that your contributions will be licensed under MIT License.
| Backoffice & Storefront | Observability |
|---|---|
|
|





