Skip to content

pendevx/Hotel-Booking-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project 2

Requirements

  • Develop GUI.
  • Integrate database.
  • Implement design patterns.
  • Eliminate code smell.
  • Use git, commit history must be included, .git or from GitHub.
  • Develop unit tests (JUnit), testing some important functionalities.
  • Apply OOP (abstraction, encapsulation, inheritance, polymorphism).
  • Follow SOLID principles.
  • Create multiple classes with relationships.
  • Bug-free and have robust error handling.

Requirements Database

  • Include database, Apache Derby DB (JavaDB), no other types allowed.
  • Must run without any configuration.
  • DB should be setup automatically without manual configurations
  • DB Service must launch automatically

Requirements Report

  • Less than one-page.
  • State project setup.
  • GitHub URL (if exists).
  • Contribution of each teammate.

Requirements Video

  • Less than 5min.
  • Demonstration, showing all features by running project.
  • Code explanation, explaining class structures, methods and processess.

Submission

  • Project folder, all source codes and related files.
  • Report.
  • Video.
  • DB folder .zip, can set DB dir inside project folder.
  • .git folder, having all historical commits and branches.

Marking

(20%) User Interface (GUI)

  • Clear and well-designed GUI following common standards.
  • Interface is easy for users to interact with.
- [x] User-friendly error messages.
- [x] GUI components organized nicely.
- [x] Quit at any step.
- [x] Go back to menu, restart system at anytime (Logout)

(20%) Database

  • Project contains database elements.
  • Database interactions and operations(I/O) using JDBC are part of code.
  • JDBC must contribute to the functionalities of the project.
- [x] Database component manages data READ and WRITE.
- [x] More than 3 database READ interations.
- [x] More than 3 database WRITE interations.
- [x] Derby Embedded mode is utilized.
- [x] Program can connect to database without starting db service.

(20%) Software Functionality & Usability

  • Program is easy to compile and run without and manual configurations (e.g., setup DB, import .jar ...).
  • Users interact with the program without any errors (e.g., the program can handle invalid data input bu giving clear error messages and instructions).
  • Complexity of the functionality.
- [x] Program can run wihtout run time error by giving expected inputs.
- [x] No manual configurations.
- [x] Functionality of program, is complex enough, having most common features of the project implemented.
- [x] Implemented features are robust.
- [x] Any input can be handled perfectly without throwing exceptions.
- [x] Messages can be prompted to end-user for correct input.

(30%) Software Design & Implementation

  • Program can be compiled successfully.
  • The purpose of the code is easy to understand by reading it.
  • The comments in the code are useful and appropriate.
  • The code executes without runtime errors.
  • Version control is applied.
  • Error handling is thorough and robust.
  • Class structure reflects good design.
  • Design patters are implemented correctly where appropriate.
  • Good coding style is used, following appropriate coding standards.
  • Code design follows OO design good practice.
  • There are no obvious code smells.
  • Sufficient test cases are included, which are well written.
  • Important functionalities are properly tested.
- [x] Comments of methods are given, code easy to read.
- [x] More than 11 reasonable classes (12+) with reasonable methods.
- [x] Class relationships well presented.
- [x] All OOP concepts applied.
- [x] SOLID applied where appropriate.
- [x] Design patterns applied where appropriate.
- [x] Well structured, clear seperation frontend, backend. (UI & Model).
- [x] Robust, handle all inputs without throwing exceptions.
- [x] 5+ well written test cases.
- [x] Tests are well-named.
- [x] Test cover important functionality extensively.



About

COMP603 Online Shopping App (Java)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages