YAS is a pet project aim to practice building a typical microservice application in Java
- Java 17
- Spring boot 2.7
- Next.js
- Keycloak
- Kafka
- K8s
- Github Actions
- SonarCloud
- OpenTelemetry
- Jaeger
- 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 jaeger
- Open terminal of your choice, go to 'yas' directory and run
docker compose up
- Open your favorite browser and go to http://pgadmin.yas.local. Account login: admin@yas.com / admin. Register a server: postgres, port 5432, username admin, password admin
- Setup Keycloak
- The Postgresql server is also published to the host machine: servername: localhost, port: 5432, username: admin, password: admin
- Get the latest source code
- Have your Docker desktop with Kubernetes enabled
- Install NGINX ingress controller
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml
- In C: driver, create 2 folders
k8s-yas-data/postgres
andk8s-yas-data/pgadmin
- Run
kubectl apply -f yaslocal.yaml
- Add
127.0.0.1 identity
,127.0.0.1 storefront
,127.0.0.1 api.yas.local
,127.0.0.1 backoffice
,127.0.0.1 pgadmin.yas.local
and127.0.0.1 jaeger
to your host file - Open your favorite browser and go to http://pgadmin.yas.local. Account login: admin@yas.com / admin. Register a server: localhost, port default, username admin, password admin. Then create a database name
keycloak
,media
,product
,cart
- Setup Keycloak
- The Postgresql server is also published to the host machine: servername: localhost, port: 30007, username: admin, password: admin
- Identity service
- Media service
- Product service
- Pricing service
- Cart service
- Order service
- Review service
- Give us a star
- Reporting a bug
- Participate discussions
- Propose new features
- Submit pull requests. If you 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.
Active contributors might be asked to join the core team