This is a comprehensive Sales Management System developed in Pure Java, following the Model-View-Controller (MVC) architectural pattern. The project was designed to handle the daily operations of a retail environment, focusing on inventory control, sales transactions, and data persistence without the overhead of heavy frameworks like Spring.
To ensure clean code and scalability, the following patterns were implemented:
- MVC (Model-View-Controller): Total separation between the business logic (Model), the user interface (View), and the communication bridge (Controller).
- DAO (Data Access Object): A dedicated persistence layer that abstracts all SQL operations, making the code independent of the database implementation.
- DTO (Data Transfer Object): Used for secure and efficient data transport between layers.
- Singleton Pattern: Applied to database connection management to ensure resource efficiency and prevent multiple active connections.
- Inventory Management: Real-time tracking of stock levels with automated updates after each sale.
- Sales Processing: Logic for calculating totals, handling multiple items per transaction, and generating sale records.
- Client & Product CRUD: Full management of business entities with input validation.
- Relational Mapping: Complex SQL queries to join tables and provide meaningful reports (e.g., Sales history by Date or Product).
- Language: Java SE (Core Engine)
- GUI: Java Swing / AWT (for a robust Desktop experience)
- Persistence: JDBC with MySQL
- Tooling: Maven/Gradle (for dependency management)
Building an MVC system from scratch proves proficiency in object-oriented design and database orchestration. In a $3k/month role, understanding the "how" behind the frameworks is crucial. This project demonstrates that I can manage application state, resources, and architecture manually, which is the foundation of high-performance backend engineering.
- Database: Import the provided
.sql(src/projetovendas/files) script into your MySQL instance. - Configuration: Update the
ConexaoDb(src/projetovendas/util) class with your local database credentials. - Run: Execute the
Mainclass to launch the application.