
Archived
Trading System
A trading system that supports item, order, and user management with real-time syncing.
JavaOOPReflectionGenericsJavaFXSQLORMHibernateRedis
GitHub Project A comprehensive trading system designed to facilitate various types of trades between users. It features a JavaFX-based GUI, user authentication, item management, trade creation, and administrative controls. The project was developed using Java and followed multiple design patterns and OOP principles.
Features
- User Roles: Personal users, administrative users, and guest users with specific permissions.
- Item Management: Users can add, edit, and manage items.
- Trade Creation: Supports multiple types of trades, including three-way trades and no-meeting trades.
- Administrative Controls: Admins can manage users, items, and system configurations.
- Support Tickets: Users can create support tickets for assistance.
- Localization: Supports multiple languages through properties files.
Design Patterns & Details
- Builder: Used in
TradeBuilder
to construct complex trade objects. - Factory Method: Implemented in
UserFactory
to create different user types. - Observer: Used for real-time updates in classes like
ReReReRe
,Reloadable
,Refreshable
,Redis
, andShutdownable
. - Strategy: Applied in configuration management with classes like
ConfigStrategy
,LocalStrategy
,FormatStrategy
,YamlStrategy
, andJsonStrategy
. - Command: Implemented in various command classes like
CreateTradeCommand
. - Facade: Used in classes like
ControllerResources
,ConfigBundle
,EntityGatewayBundle
,DatabaseResourceBundle
, andWidgetBundle
. - Adapter: Implemented in
CartItemWrapper
. - Iterator: Used in
TradeUserOrderBundleIterator
. - Dependency Injection: Utilized in
CommandFactory
,ControllerFactory
, and all controllers, commands, and data access objects. - Reflection: Utilized in
MappableBase
to dynamically map object fields to CSV strings for data storage and retrieval.
Tech Stack:
- JavaFX: Provides the graphical user interface.
- Hibernate: Manages object-relational mapping for the database.
- Redis: Handles publish-subscribe messaging.
- Log4j2: Manages logging.
- Jackson: Handles JSON and YAML configurations.
- Maven: Manages build automation and dependencies.
- SQL: Supports data storage and queries.
Tags:
Java,
OOP,
Reflection,
Generics,
JavaFX,
SQL,
ORM,
Hibernate,
Redis
Previous
Next