Skip to content

FurtherJavaProgramming/assignment2-augustoo111

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 TheReadingRoom – JavaFX Bookstore Application

Author: Augustina Oo
Course: Programming – Assignment 2
University: RMIT University
Year: 2024


🧾 Project Overview

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.


🎯 Key Features

  • 👤 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

🛠️ Technologies Used

  • Java (JDK 17+)
  • JavaFX for GUI development
  • Java Collections Framework
  • FXML for layout
  • DAO Pattern for data abstraction
  • Singleton Design Pattern

📁 Project Structure

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)


🚀 How to Run

Prerequisites

  • Java JDK 17 or above
  • JavaFX SDK
  • IDE such as IntelliJ IDEA or Eclipse (JavaFX support enabled)

Steps

  1. Clone the repository:
    git clone (https://github.com/FurtherJavaProgramming/assignment2-augustoo111)
    cd TheReadingRoom

About

assignment2-augustoo111 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages