A JavaFX-based GUI bookstore management system developed as part of a group project for a course. The application simulates a bookstore used by both owners and customers, incorporating Object-Oriented Design, UML modeling, and the State Design Pattern.
Objectives:
- Analyze, design, and implement a functional bookstore management application.
- Apply UML modeling to visualize system structure and relationships.
- Use the State Design Pattern to manage dynamic system behavior.
Owner Features
- Log in using admin / admin credentials.
- Manage bookstore inventory (add, delete, and view books).
- Manage customer accounts (add, delete, and view customers).
- Log out to return to the main login screen.
- Data automatically saved to books.txt and customers.txt on exit.
Customer Features
- Log in with pre-registered credentials.
- View available books, prices, and select items for purchase.
- Purchase books using standard payment or redeem accumulated points.
- Earn points for each purchase (10 points per $1 spent).
- Achieve Silver (<1000 points) or Gold (≥1000 points) status.
- Data updates automatically on exit.