Terrarium
Terrarium Page
Click here to see my page.
Introduction
Today, even a small convenience store has so many kind of items in their stock for them to manage. And things get even worse for a wholesale business, of which in their stock might be up to a thousand kinds of goods. The traditional paper-based solution are clumsy and error prone, so we think maybe it’s the time for a computer-based solution for the of business. We expect this solution to help the wholesale business in managing their stock and keeping track of the price of each item.
This project was inspired by the Wannasit store. Wannasit store is my friend’s wholesale and retail store located in the Suphanburi Province. In the past, he used to ask me about creating a program for managing his family’s store, so instead of teaching him I create one, will do it for him.
Main Features
- Adding and removing products to store
- Calculate the prices, including the total price and taxes
- Safekeeping the sales data in the database
- Calculate the daily statistics of the sales
Design Patterns
Pattern | Description/Reason | Classes |
---|---|---|
Singleton | The singleton pattern was used in many classes within this project as a global data store. | TerrariumUI, PaymentUI, CashierMachine, ChangeUI, Store, ProductsSale, StatisticUI, Sales |
Model-View-Controller (MVC) | The MVC pattern was used for separate application's concerns | Model : Store, Sales View : all of UI Controller : CashierMachine, ProductsSales |
Composite | The Composite pattern was used in many UI. | All components of the JFrame and JFrame itself |
Observer | The observer pattern was used in various GUI classes as it enables low coupling between the controller classes and the GUI itself. | Observer : PaymentUI, ChangeUI, TerrariumUI, StatisticUI Observable : CashierMachine, ProductsSales |
User Interface
UML Diagram for Terrarium
Get It Running
Download
Click here to get the latest version. Or go to releases to see all versions
Install
No installation required, use the command below to start the application
java -jar Terrarium.jar
Value Proposition
Why did this worth doing?
Because this software can help offloading the boring and error-prone job of stock keeping and accounting to computer-based system. And we expect that to help speed up the business operations and push the business forward.
What did you learn?
- Using softwares to help businesses in their operations
- Using
Actions
withJTable
- Utilizing database as a storage for Java application