Skip to content

CodingF0X/BottleDrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BottleDrop

A Domain-Driven Design Approach to developing Beverage Management system ( The project is not complete ).

Description

BottleDrop is a distributed microservices application designed to manage beverage services at an event. It consists of four contexts: Warehouse, Bar, Drop Point, Bar and User.
The Bar microservice handles beverage stock management and visitor orders, while relying on the Warehouse for inventory replenishment. Drop Point service communicates with the Warehouse for bottle returns.
for more details: Project Documentation



Installation

  1. Clone the repository:
    git clone https://github.com/CodingF0X/BottleDrop.git
  2. run the app:
    docker-compose up

Usage

The web app is very basic, the goal of this UI is to demonstrate MSA, Service Discovery using Eureka, Spring cloud Config and Circuit breaker using Opossum.
Head to http://localhost:3000 to open the React app. To log in, simply enter the appropriate email address based on the mocked role you want to assume:

No other information is required for the login. After successfully logging in as a Warehouse Assistant, click the avatar icon in the top right corner and then select "Dashboard." You will be redirected to the Warehouse Dashboard to view live warehouse data. If you log in as a Bartender, click on the desired bar from the navbar to see live data from the dashboard of each bar.


For comprehensive technical details:
[Solution Architecture](https://github.com/CodingF0X/BottleDrop/wiki/Solution-Architecture)

Project status

Current status

At this moment, development has temporarily paused
Despite the temporary pause, I am excited about the future development of this project. Here are the plans for when I resume work:

Exploring New Technologies: I intend to integrate various new technologies to enhance the project. This will involve researching and implementing tools and frameworks that can improve performance and user experience.

Improving Scalability: Ensuring the project can scale effectively is a priority. This includes optimizing the current codebase, improving data management practices, and possibly restructuring the architecture to support larger datasets and a greater number of users. Also would utilize Eureka for load balancing and use Spring Cloud Gateway to efficiently route and manage network traffic.

About

A Domain-Driven Design Approach to Beverage Management ( The project is not complete )

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published