Skip to content

hkuspace-pu/c2-implementation-111HiBobby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COMP2000 Software Engineering 2 - Assessment 1

Restaurant Management System (Android App) - VERSION 3 (Academic Final Submission)

📌 Project Overview

This application is a feature-rich Restaurant Management System designed for both Staff and Guests. It demonstrates high-level software engineering practices, including hybrid data management (REST API + Local SQLite), asynchronous processing, and a strong emphasis on Legal, Social, Ethical, and Professional (LSEP) standards.

Version 3 represents the final academic polish, introducing user-governed notification systems and strict adherence to data privacy and ethical design principles.


✨ Key Features (V3 Updates)

1. LSEP & Ethical Design (Ethical Compliance)

  • User Consent Mechanism: Implemented a Notification Toggle on the Guest Dashboard. The system explicitly requests and respects user consent before triggering system-level alerts, adhering to ethical software design.
  • Data Privacy: Enforced strict data isolation using student-specific API partitions and local filtering to prevent unauthorized data exposure.

2. Native Notification System (V3 Enhanced)

  • Persistent Preferences: User notification settings are persisted using SharedPreferences, ensuring the application remembers user choices across sessions.
  • Status Bar Integration: Leverages NotificationManager to provide immediate, non-intrusive feedback for successful reservations.

3. Hybrid Persistence & Room Database (V2/V3)

  • Room Database: Fully implemented local SQLite persistence for reservations, fulfilling the requirement for a local database alongside the RESTful API.
  • Multi-threaded Sync: Data is synchronized to the local DB using manual worker threads to prevent UI blocking (ANR prevention).

4. Advanced Authentication & Security

  • Secure API Auth: Real-time authentication via university servers for both Staff and Guest roles.
  • Activity Authorization: Added backend checks to ensure only users with 'admin' type can access management interfaces.

🛠 Tech Stack & Architecture

  • Networking: Retrofit 2.9.0 & Gson.
  • Local Database: Room Persistence Library 2.6.1.
  • Design Patterns: Repository Pattern, Singleton, and View Binding.
  • Principles: Built following SOLID principles (SRP, DIP, OCP).

🏗 LSEP Alignment Summary

  • Legal: Compliance with data isolation via student ID partitioning.
  • Social: Improving accessibility through responsive GUI components.
  • Ethical: Prioritizing User Autonomy via the notification consent toggle.
  • Professional: Following Android's latest development guidelines (Worker threads, View Binding, Material 3).

🚀 Getting Started

  1. Open in Android Studio (Hedgehog+).
  2. Connect to University Network (Required for API: 10.240.72.69).
  3. Sync Gradle to download all dependencies.
  4. Run on Device/Emulator (API 33+).

Test Credentials

Role Username Password Status
Staff admin admin123 Verify via Server
Guest (Any Registered) (Set) Open Registration

📅 Version History

  • V3 (Current): LSEP Ethical Compliance, Notification Toggles, and Final Code Hardening.
  • V2: API & Room Database Integration, Hybrid Data Sync.
  • V1: Initial Prototype, In-memory storage, and basic UI.

Author: Kawozhang Module: COMP2000 Software Engineering 2 Assessment: Assessment 1

About

c2-implementation-111HiBobby created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages