Skip to content

hvantran/nastech-yas

 
 

Repository files navigation

YAS: Yet Another Shop

YAS is a pet project aim to practice building a typical microservice application in Java

storefront-ci product-ci media-ci

Tentative technologies and frameworks

  • Java 17
  • Spring boot 2.7
  • Next.js
  • Keycloak
  • Kafka
  • K8s
  • Github Actions
  • SonarCloud
  • OpenTelemetry
  • Jaeger
  • Quarkus
  • GraalVM

Local development architecture

Yas - local development architecture

Getting started with Kubernetes in Docker Desktop

  1. Get the latest source code
  2. Have your Docker desktop with Kubernetes enabled
  3. Install NGINX ingress controller kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml
  4. In C: driver, create 2 folders k8s-yas-data/postgres and k8s-yas-data/pgadmin
  5. Run kubectl apply -f yaslocal.yaml
  6. 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 and 127.0.0.1 jaeger to your host file
  7. Open your favorite browser and go to http://pgadmin.yas.local. Account login: [email protected] / admin. Register a server: localhost, port default, username admin, password admin. Then create a database name keycloak, media, product
  8. Setup Keycloak
  9. The Postgresql server is also published to the host machine: servername: localhost, port: 30007, username: admin, password: admin

Getting started with Docker Compose

  1. Get the latest source code
  2. 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
  3. Open terminal of your choice, go to 'yas' directory and run docker compose up
  4. Open your favorite browser and go to http://pgadmin.yas.local. Account login: [email protected] / admin. Register a server: postgres, port 5432, username admin, password admin. Then create a database name keycloak, media, `product
  5. Setup Keycloak

Getting started with Minikube in Ubuntu

Please see it in the wiki

Components roadmap

  • Identity service
  • Media service
  • Product service
  • Pricing service
  • Cart service
  • Order service
  • Review service

Contributing

By contributing, you agree that your contributions will be licensed under MIT License.

Active contributors might be asked to join the core team

About

YAS: Yet Another Shop

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 63.5%
  • TypeScript 29.4%
  • Shell 3.2%
  • CSS 1.9%
  • Dockerfile 1.2%
  • Kotlin 0.7%
  • JavaScript 0.1%