Skip to content

william-atienza/order-system

Repository files navigation

Order System

Simple Order System that utilize the power of Kafka for asynchronous communication between services

Pre-requisite

  • Docker engine or similar (Lima, nerdctl, etc..) should be installed in your system

Start MySQL and Kafka

  • You can click the double play button to run the MySQL and Kafka containers using docker/docker-compose.yaml docker-compose.png
  • The containers should be colored green as in this image if they are started successfully services.png

Add Kafka Topics

MySQL DB

  • You can access the db using MySQL Workbench or any db explorer
  • username: root, password: admin, port: 3307: schema: silverspin

Run the App

Running locally:

  • ./gradlew build to build the app
  • ./gradlew bootRun to run the app locally

Containerize:

  • ./gradlew bootBuildImage --imageName=order-system to build the image
  • docker run -p 8081:8080 -t order-system to start the app
  • docker stop <container-id> to stop

PHP

  • Nothing here yet as I'm still learning it.
  • To see the php web app, on command line run PHP's web server php -S localhost:8080

Endpoints

Postman Collection

Swagger Playground

Room for Improvements

  • At the moment Unit testing is not included
  • API Security
  • Use Debezium. I tried, but it is not working at the moment.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published