Author: Augustina Oo
Course: Programming – Assignment 2
University: RMIT University
Year: 2024
TheReadingRoom is a desktop GUI application developed in Java using JavaFX. It simulates a bookstore system for The Reading Room, allowing users to register, browse books, manage a cart, and place orders. This project is part of a university assignment focused on applying object-oriented design principles, JavaFX, DAO patterns, and the Java Collections Framework.
- 👤 User Registration & Login
- 🧾 User Dashboard with order history
- 📚 Book Browsing & Search
- 🛒 Shopping Cart Management
- 💳 Checkout Functionality
- 📝 Profile Update & Password Reset
- 🧑💼 Admin Dashboard for order and user management
- Java (JDK 17+)
- JavaFX for GUI development
- Java Collections Framework
- FXML for layout
- DAO Pattern for data abstraction
- Singleton Design Pattern
TheReadingRoom/ │ ├── Controller/ # JavaFX Controllers (e.g., LoginController, SignUpController) ├── Dao/ # DAO interfaces and implementations (e.g., BookDao, UserDao) ├── Model/ # Core models (e.g., User, Book, Order, ShoppingCart) ├── View/ # JavaFX scenes and FXML files ├── main/resources/exports/ # Exported data (e.g., order history spreadsheets) ├── readingroom_2/ # Main class and app entry point (Main.java)
- Java JDK 17 or above
- JavaFX SDK
- IDE such as IntelliJ IDEA or Eclipse (JavaFX support enabled)
- Clone the repository:
git clone (https://github.com/FurtherJavaProgramming/assignment2-augustoo111) cd TheReadingRoom