Skip to content

CSC207-2022F-UofT/course-project-group-72

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

72Reviews

  • A Restaurant Review App by Group 72

Introduction:

72Reviews is an application that provides services including:

  • Search restaurant based on your preference
  • Register your user account as a Customer or a Restaurant Owner
  • Manage your restaurants as a Restaurant Owner
  • Give feedback to restaurants in the form of reviews
  • Report any inappropriate reviews

Features:

  • User Login in/Register Service

    • User can Register New User Account by Entering New Username, Password, and Confirming Password
    • User can Login To Existing User Account by Entering Username and Passowrd
    • If Input Data is Invalid (Passwords Don't Match, User Doen't Exist, etc.), Error Pop-up is Displayed
    • After Successful Login or Register, Open HomeScreenView
  • User Profile Service

    • User is able to upgrade their User to an OwnerUser
    • User is able to view their previous reviews and the average stars of those reviews
  • Restaurant Creation & Management

    • User is able to create a new Restaurant profile to promote their Restaurant and its:
      • Name
      • Location
      • Cuisine
      • Price Range
      • Average Stars
    • Edit your Restaurant as you improve and change your style
    • Delete your Restaurant if you are moving
  • Sort/Search System

    • User is able to search, filter and sort (by attribute and direction) for their personalized list.
    • They can filter by:
      • Name (Search Input)
      • Location (Search Input)
      • Cuisine (Drop-Down Menu)
      • Price Range (Drop-Down Menu)
      • Rating/AvgStars (Drop-Down Menu)
      • Sort by:
      • Name (Radio Button)
      • Price (Radio Button)
      • Rating (Radio Button)
      • Sort Direction:
      • Ascending (Radio Button)
      • Descending (Radio Button)
    • User can submit their selections by clicking the search button.
  • Review System

    • Users can write reviews, selecting 1-5 stars for the restaurant and giving some information about their visit
    • Users edit reviews they have written, changing the number of stars and text
    • Users can like reviews, unless they own the restaurant the review is for
    • Users can delete their own reviews
    • OwnerUsers who own a restaurant may reply to reviews on that resataurant
    • Reviews are stored in a csv file and each review's id is added to the appropriate section in the user and restaurant Databases
  • Report System

    • User is able to report a review by clicking the button beside the review
    • User can add reason when doing report
    • All Users are able to send a report except ones being banned
    • Same user cannot report one review twice
    • Review receiving a certain amount of reports will be turned to invisible
    • User receiving a certain amount of reports will be banned
    • All reports will be saved in a database

Instruction:

  1. Run app.java under /main/java
  2. Register an account NOTE: You now have access to the menu bar for Back and Home buttons
  3. Search and filter for your desired restaurants
  4. Click on restaurants that interest you to view their page
  5. Add/Delete/Edit a review if you wish, or like or report published reviews
  6. Click on Profile Screen to Access Restaurant Owner Tools (Create and view restaurants)

Demo (ScreenShots):

  1. Welcome Page: welcomeScreen

  2. Home Page:

Screenshot 2022-12-07 at 3 56 12 PM

  1. Sorted Restaurants:

Screenshot 2022-12-07 at 3 57 17 PM

  1. Review Page: image

image

image

image

image

image

image

image

image

image

  1. Report Page:

Screen Shot 2022-12-07 at 3 52 28 PM

  1. Restaurant Modification Page:

image image image

  1. Profile Page: image image image

Issues accomplished:

Back to top

Test Coverage:

  • Register and Login System: 41% class coverage, 34% method coverage, 36% line coverage
  • Search Restaurant System: 53% class coverage, 45% method coverage, 22% line coverage
  • Restaurant Creation and Management: 100% class coverage, 96% method coverage, 82% line coverage (Including non-automated view tests)
  • Review System: 23% class coverage, 37% method coverage, 20% line coverage
  • Report System: 100% class coverage, 100% method coverage, 75% line coverage (Not including non-automated view tests, rest of codes were 95% covered)

Libraries Used:

  • Java swing
  • JUnit

Checklist

  • Verify the correct settings for your project repository
  • Set up Github Projects
  • Create the implementation plan using issues and Github Projects
  • Create development branches for your features
  • Use pull requests to merge finished features into main branch
  • Conduct code reviews

Back to top

About

course-project-group-72 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages