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

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

Main Page

PaymentUI

ChangeUI

StatisticUI

UML Diagram for Terrarium

UML

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?

Contributors