GithubHelp home page GithubHelp logo

php1301 / yas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nashtech-garage/yas

0.0 0.0 0.0 29.05 MB

YAS: Yet Another Shop, a sample microservices project in Java

License: MIT License

Shell 1.48% JavaScript 0.11% Java 47.28% TypeScript 32.12% CSS 14.97% Smarty 3.01% FreeMarker 0.67% Dockerfile 0.36%

yas's Introduction

YAS: Yet Another Shop

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

storefront-ci storefront-bff-ci backoffice-ci backoffice-bff-ci product-ci media-ci cart-ci customer-ci rating-ci location-ci order-ci inventory-ci tax-ci search-ci promotion-ci payment-ci payment-paypal-ci

Tentative technologies and frameworks

  • Java 17
  • Spring boot 3
  • Next.js
  • Keycloak
  • Kafka
  • Elasticsearch
  • K8s
  • GitHub Actions
  • SonarCloud
  • OpenTelemetry
  • Grafana, Loki, Prometheus, Tempo

Local development architecture

Yas - local development architecture

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 loki
127.0.0.1 tempo
127.0.0.1 grafana
127.0.0.1 elasticsearch
127.0.0.1 kafka
127.0.0.1 akhq
  1. Open terminal of your choice, go to yas directory, run docker 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

  1. 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
  2. Open your browser, now you can access the websites via http://storefront/; http://backoffice/ login with admin/password

You might also want to explore:

  1. http://pgadmin.yas.local/. Account login: [email protected] / 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: admin
  2. http://api.yas.local/swagger-ui/ for all the REST API document of all the services
  3. http://identity/ for Keycloak console, account admin/admin
  4. http://grafana/ for observability: log, trace, matrix
  5. http://elasticsearch/ for calling Elasticsearch APIs

About docker-compose files

  1. docker-compose.yml for all core services
  2. docker-compose.search.yml for search service
  3. docker-compose.o11y.yml for observability services

Deploy to Kubernetes

https://github.com/nashtech-garage/yas/tree/main/k8s/deploy

Documentation

https://github.com/nashtech-garage/yas/tree/main/docs

Contributing

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

yas's People

Contributors

thiennn avatar lehoangglam avatar khoahd7621 avatar dieunguyenthi avatar nguyenvanhadncntt avatar chanhnguyen6975 avatar vonhu2901 avatar baophamm avatar lnghia avatar kiettrangthuan avatar dtkhanh avatar tanhaok avatar nashtech-bangnguyenl avatar quocminhh47 avatar ninhbuise avatar vanhau293 avatar toannguyenk avatar dinhthaivv avatar phaciusphat avatar khanhtrand avatar nhientrand avatar hvantran avatar loinguyen-nt avatar zuize47 avatar nashtech-toaitranoanh avatar duccaominh avatar nhattan-dev avatar takama123 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.