1. Project Context
- Course: Software Engineering
- Timeline: 2 months of development (Requirement gathering to Testing).
- Team Size: 5 members.
- Objective: Apply SE principles (UML, Testing, SDLC) to build a real-world business solution.
2. Core Technology Stack
- Programming Language: Java (utilizing JFrame GUI) for a responsive desktop experience.
- Database Management System (DBMS): MySQL. It serves as the backbone for storing all relational data, ensuring ACID compliance for transactions.
- GUI Framework: JFC/Swing architecture for building the visual components (buttons, tables, etc.).
- Development Environment: Apache NetBeans IDE.
- Design Methodology: UML (Use Case, Activity, and Sequence diagrams) for structural planning.
3. System Features & Workflow
-
Role-Based Access Control (RBAC):
- Manager: Can verify new users, manage categories/products, and view all sales.
- Staff: Access restricted to the "Place Order" module and personal billing history.
-
MySQL Integration:
-
Data Persistence: All changes (new orders, price updates) are immediately committed to the MySQL database.
-
Search & Filter: Uses SQL queries to quickly filter bills by date or find products by category.
-
Order & Billing: Features a dynamic cart with real-time total calculation and exports professional bills as PDF files.
-
Security: Implements a "Forgot Password" flow using MySQL-stored security questions to verify identity.
-
4. System Requirements
- Storage: Extremely lightweight (12.2 MB for the app).
- Environment: Requires Java Runtime Environment (JRE) and a MySQL Server instance to be running for data access.