Code Monkey home page Code Monkey logo

cs8-i-love-baseball's People

Contributors

housengw avatar jackground avatar kevin37li avatar yi-28 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

cs8-i-love-baseball's Issues

User Story #8

Feature: Access to any baseball stadium
As the user, I want to be able to access any baseball stadium.

Acceptance Criteria:

  • Accessing to any baseball stadium provide the stadium information as the name of the team and stadium, address, box office #, date opened, and the seating capacity.
  • It only provides access to the information but not to modify them.

Definition of Done:
The user should be able to access to any stadium and obtain the information listed in the acceptance criteria. To access to any stadium, the user will be accessing by clicking a button on the GUI (called stadiums). Then, a list of stadiums to choose is displayed, and by clicking on any of them will display a window containing the information listed in the acceptance criteria. The application should remain stable and properly responsive as the user manipulates the View.

Tasks:

  • Implement Stadium class

  • Implement View (GUI) stadiums button

Tests:

  • Clicking the stadiums button should let the user choose a stadium and display the information

  • If there are not stadiums, it should display no information

Story Points: 3

Sample User Story

Feature: Daily Sales Report
As a user, I want to be able to access a sales report for any particular day.

Acceptance criteria:

  • Sales report should include a list of items and quantities sold on that day
  • Sales report should include the names of the members who shopped that day
  • Sales report should report the total revenue for the given day
  • Sales report should include number of preferred members and basic members who shopped during the given day
  • The user will be able to view this summary for all members, but will also have the option to specify the report to show only basic members or preferred members.

Definition of done:
The user should be able to request for a sales report by clicking a button on the GUI. Then, a window should pop up containing the information listed in the acceptance criteria. There will also be a set of options allowing the user to specify the sales report for basic and preferred members. The application should remain stable and properly responsive as the user manipulates the View.

Tasks:

  • Implement Member class
  • Implement MemberContainer class
  • Implement Item class
  • Implement ItemContainer class
  • Implement Sale class
  • Implement SaleContainer class
  • Implement View (GUI) for daily sales report

Tests:

  • Clicking the daily sales button should print the daily sales report with the promised information in the right order.
  • If there are no sales for the requested day, then the daily report should be empty. An empty sales report should say to the user that there are no entries.
  • Clicking the specification buttons ("Show basic members only" & "Show preferred members only") should restrict the sales report in the proper way. If no members of that type shopped on the given day, the report should be empty, except for a message to the user saying that there are no entries that fit the requested criteria.

Story points: 5

User Story #11

Feature: display user's own version of the map.
As a user, I should be able to display my own version of the map. The trips should highlight the path traveled.

Acceptance criteria:

  • The user's own version of the map should be displayed within a GUI window.
  • The user will be able to see the path he has traveled being highlighted on the map.

Definition of done:

  • The user should be able to request for his own version of the map by clicking a button on the GUI.
  • Then the correct window should pop up which displays the map with features shown in the acceptance criteria.
  • As for the administrator to update the map after he visits some new places, There should be an update button for him to do so.
  • The application should remain stable and properly responsive as the user manipulates the View.

Tasks:

  • Implement map class which is a View (GUI) for displaying map
  • Implement Stadium class which stores the name and info for each stadium used when displaying the map

Tests:

  • Clicking the showMap button the user should be able to see a pop op window which allows him to see his own version of the map
  • Clicking the update button the user should be able to see a pop op window which allows him to see the new version of the map with the path being updated.
  • Map should highlight the path traveled

Story points: 5

User Story #2

Feature: Trip to American League stadiums
As a user, I want to be design a trip to American League stadiums with the shortest path starting at a stadium in California

Acceptance criteria:

  • The number of stadiums visited, the order in which the stadiums are visited and the total distanced travelled should be printed.
  • The user will be able to choose any stadium in California to start from.

Definition of done:
The user should be able to request for the design by clicking a button on the GUI. Then, a window should pop up containing the information listed in the acceptance criteria. There will also be a set of options allowing the user to specify the type of stadiums (National league, American league, or all) he or she want to visit. The application should remain stable and properly responsive as the user manipulates the View. The map with the routes should be displayed on the GUI.

Tasks:

  • Implement Graph class
  • Implement Stadium class
  • Implement View (GUI) for Trip Design

Tests:

  • Clicking the trip design button should update the map showing the route taken.
  • If there are no stadium available, no route should be displayed on the map. A pop-up window should notify the user that there is no stadium to be visited.
  • Entering a new stadium to begin the trip should update the routes on the map accordingly.

Story points: 5

User Story #4

Feature: Plan fan's dream vacation
As a user, I want to be able to be able to plan my dream vacation by printing the number of stadiums visited, the order, and the total distance traveled.

Acceptance Criteria:

  • Plan should print number of stadiums visited
  • Plan should show the order in which the stadiums were visited
  • Plan should show total distance traveled

Definition of done:
The user should be able to request a plan of his/her dream vacation by clicking a button on the GUI. The plan should show the number of stadiums visited, graphically represent the order in which the stadiums were visited, and also show the total distance traveled.

Tasks:

  • Implement Graph class
  • Implement Stadium class
  • Implement queue to store list of stadiums visited in chronological order
  • Load list of stadiums and format in appropriate data structure
  • Show map in GUI
  • Method to calculate total distance traveled

Tests:

  • Clicking the Trip Stats button should load the number of stadiums visited, the order in which the stadiums were visited, and the total distance traveled.
  • Only stadiums visited should be counted and listed.

Story Points: 4

User Story #5

Feature: Track souvenirs purchased by fans on trips and corresponding costs
As a user, I want to have a record of the souvenirs I purchased and how much I paid for each of them.

Acceptance criteria:

  • The types, quantities, and prices of souvenirs purchased should be printed.
  • The user should be able to click a button which brings up a modal window displaying the souvenirs purchased, listed in chronological order.

Definition of done:
The user is able to request a list of souvenirs purchased by clicking a button in the GUI. They should be presented with a modal window displaying the souvenirs purchased and the corresponding costs, listed in chronological order. The application should remain stable and properly responsive as the user manipulates the View.

Tasks:

  • Implement Purchases data structure with ability to store strings and corresponding doubles in order
  • Implement button (GUI) and corresponding modal/popup

Tests:

  • Clicking the "View Souvenir Purchases" button should display only the souvenirs purchased by the fan
  • List of Souvenir Purchases should display in chronological order with correct corresponding quantities and costs
  • No item listed should have a listed quantity of 0

Story Points: 2

User Story #12

Feature: Display the list of Stadiums
As a user, I should be able to display the list of stadiums sorted according to my preferences

Acceptance criteria:

  • The user will be able to view a table of all the stadiums
  • The user will be able to add filters (national/american stadium, grass/turf surface, etc.)
  • The user will be able to select how the displayed stadiums will be sorted

Definition of done:

  • The user should be able to see all the stadium's information in the table.
  • The user should be able to add filters.
  • The user should be able to select how the displayed stadiums will be sorted

Tasks:

  • Implement a GUI window that stores the table for display
  • Implement getters that select stadiums based on a certain criteria.
  • Implement sort functions that formats the list of stadiums.

Tests:

  • Clicking on the list of stadiums button in the main window should pull up a table with the stadiums.
  • Selecting filters from the table should restrict the displayed stadiums accordingly.
  • Sort functions should sort the stadiums correctly.

Story points: 5

User Story #1

Feature: Trip to All the major league stadiums
As a user, I want to be design a trip to all the major league stadiums with the shortest path starting at a stadium in California

Acceptance criteria:

  • The number of stadiums visited, the order in which the stadiums are visited and the total distanced travelled should be printed.
  • The user will be able to choose any stadium in California to start from.

Definition of done:
The user should be able to request for the design by clicking a button on the GUI. Then, a window should pop up containing the information listed in the acceptance criteria. There will also be a set of options allowing the user to specify the type of stadiums (National league, American league, or all) he or she want to visit. The application should remain stable and properly responsive as the user manipulates the View. The map with the routes should be displayed on the GUI.

Tasks:

  • Implement Graph class
  • Implement Stadium class
  • Implement View (GUI) for Trip Design

Tests:

  • Clicking the trip design button should update the map showing the route taken.
  • If there are no stadium available, no route should be displayed on the map. A pop-up window should notify the user that there is no stadium to be visited.
  • Entering a new stadium to begin the trip should update the routes on the map accordingly.

Story points: 5

Comments and Documentation

In the master branch we have:

  • Functions with no commenting or documentation.
  • Incomplete methods with unused and unnamed parameters
  • Variables that are standard C++ convention camelCase and others that are snake_case_variables. If the different stylization is intended to convey something about the variables, that should be noted.

We have 50+ files now, and with so little documentation for a project of this size, dividing and delegating work now requires reading almost every line of everyone else's code before contributing. It doesn't even have to be Leon-style commenting, just light explanation for each other.

I've begun adding what I believe are accurate descriptions & comments for what I can, but I can't be sure all of it is 100% accurate. I appreciate that we had the deadline today, but I really think we should consider fixing this bottleneck before we more forward.

User Story #3

Feature: Trip to National League stadiums
As a user, I want to be design a trip to National League stadiums with the shortest path starting at a stadium in California

Acceptance criteria:

  • The number of stadiums visited, the order in which the stadiums are visited and the total distanced travelled should be printed.
  • The user will be able to choose any stadium in California to start from.

Definition of done:
The user should be able to request for the design by clicking a button on the GUI. Then, a window should pop up containing the information listed in the acceptance criteria. There will also be a set of options allowing the user to specify the type of stadiums (National league, American league, or all) he or she want to visit. The application should remain stable and properly responsive as the user manipulates the View. The map with the routes should be displayed on the GUI.

Tasks:

  • Implement Graph class
  • Implement Stadium class
  • Implement View (GUI) for Trip Design

Tests:

  • Clicking the trip design button should update the map showing the route taken.
  • If there are no stadium available, no route should be displayed on the map. A pop-up window should notify the user that there is no stadium to be visited.
  • Entering a new stadium to begin the trip should update the routes on the map accordingly.

Story points: 5

User Story #10

Feature: the distances between any two stadiums
As a user, I want to be able to print out the distances between any two stadiums.

Acceptance criteria:

  • A pop up window should be displayed for the user to enter the info about two stadiums.
  • the distance between the two stadiums entered by the user should be printed.

Definition of done:

  • The administrator should be able to enter the two cities of which he wants to find the distance between by clicking a button on the GUI.
  • Then the correct number of distance should be displayed on the GUI.
  • There also should be a button for the user to update the info of the two cities, then the distance should be updated.
  • The application should remain stable and properly responsive as the user manipulates the View.

Tasks:

  • Implement Stadium class which stores the info and the distance between other stadiums
  • Implement View (GUI) for displaying the info requested

Tests:

  • entering the info of two cities the user should be able to see the distance between them
  • Clicking the update button after re-entering the city info the user should be able to see the new distance
  • If there are no such stadium entered by the user, the program should not crash. A pop-up window should notify the user that there is no such stadium in the system.

Story points: 2

User Story #9

Feature: modify (add/delete/change) the souvenirs list and their prices
As a administrator, I want to be able to modify (add/delete/change) the souvenirs list and their prices.

Acceptance criteria:

  • the souvenirs list should be printed.
  • The administrator will be able to add the souvenirs list and their prices.
  • The administrator will be able to delete the souvenirs list and their prices.
  • The administrator will be able to change the souvenirs list and their prices.

Definition of done:

  • The administrator should be able to request for a list of the the souvenirs by clicking a button on the GUI.
  • Then the correct window should pop up which containing the information and functionalities as shown in the acceptance criteria.
  • As for the administrator to modifying (add/delete/change) the souvenirs list and their prices, There are some buttons allowing them to do the operation.
  • The application should remain stable and properly responsive as the user manipulates the View.

Tasks:

  • Implement list class which stores the souvenirs and their prices
  • Implement souvenir class which stores the information about one souvenir like the name and price
  • Implement View (GUI) for displaying the info about the souvenirs list

Tests:

  • Clicking the add button the administrator should be able to see a pop op window which allows him to enter the info and add the souvenir.
  • Clicking the delete button the administrator should be able to see a pop op window which allows him to enter the info and delete the souvenir.
  • Clicking the change button the administrator should be able to see a pop op window which allows him to enter the info and change the info of the corresponding souvenir.
  • If there are no souvenirs, the program should not crash. A pop-up window should notify the user that there is no souvenirs.

Story points: 3

User Story #6

Feature: Ability to modify stadium information if a team moves into a new stadium (admin only)
As an admin, I want to be able to modify stadium information to accurately reflect a team's updated location and stadium

Acceptance criteria:

  • The admin must be able to login with password to view list of stadiums and select stadium to edit location info.
  • The admin must be able to input new information for selected stadium.
  • The admin must be able to click "save" (updating stadium and graph).
  • The admin must be able to logout of admin account.

Definition of done:
The admin is able to login only after inputting the correct password and is then presented with a GUI popup window. This window gives the admin write access to list of stadiums and the admin is able to save changes. The window has a "Change password" button that will present the user with a popup window allowing the admin to change the password. The window has a "close and logout" button.

Tasks:

  • Implement Admin login button & popup with admin password input
  • Implement Admin password verification
  • Implement warning popup if incorrect password entered
  • Implement GUI popup window listing stadium information for admin to edit
  • Implement button within admin popup window
  • Implement function to change password within Admin's popup window
  • Implement save button
  • Implement logout button

Tests:

  • Users should not be able to view the admin edit window without inputting the correct password
  • The admin should only be able to edit information after inputting the correct password
  • Old passwords must not grant access to the admin's edit window
  • After closing the admin edit window and logging out, the admin must be required to input the password again before attempting to edit the stadium info

Story points: 4

User Story #7

Feature: Add a new team and corresponding stadium (administrator only)
As the administrator, I want to be able to add a new team and corresponding stadium

Acceptance Criteria:

  • Add a new team and corresponding stadium only if the major league baseball decides to expand.
  • Only the administrator is able to add a new team with the corresponding stadium.
  • Adding a new team should include information as the name of the new team, and the name, address, box office #, date opened, and the seating capacity of the stadium.

Definition of Done:
The administrator should be able to add a new team and corresponding stadium with the required information listed in the acceptance criteria. To add a new team, the administrator will be accessing with a password to the system by clicking a button on the GUI (called administrator only). Then, a window is displayed to ask for the passcode, and it will allow to add a new team with corresponding stadium and the information listed in the acceptance criteria. The application should remain stable and properly responsive as the administrator manipulates the View.

Tasks:

  • Implement Stadium class
  • Implement View (GUI) for administrator only
  • Implement Admin login button & popup with admin password input
  • Implement Admin password verification
  • Implement warning popup if incorrect password entered
  • Implement GUI popup window listing stadium information for admin to edit
  • Implement button within admin popup window
  • Implement function to change password within Admin's popup window
  • Implement save button
  • Implement logout button

Tests:

  • Clicking the administrator only button should ask the viewer for an accessing code which only the administrator knows.
  • If the access code is incorrect, then a notification should warn the viewer that it's only for administrator access only.
  • If the new team to be added is currently in the league team list, then a notification should let the administrator know that the team is currently in the list
  • If the new team is added successfully, it should display a notification as well. Otherwise, it should display instructions to guide the administrator to add correctly the new team.

Story points: 5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.