Skip to content

McGill-ECSE321-Fall2024/project-group-4

Repository files navigation

Game Shop Online Store

Scope of The Project

Our team has been tasked with creating a fully functional web application for an independent game shop's online store. Throughout the project, we will also be delivering documentation that includes all of the software development process and procedures. A local database will be used to store important information for the application.

The application must support a seamless experience for every stakeholder

  • The Owner: Manage all accounts, create/deactivate employee accounts, approve new game requests (update of the game catalog), and respond to customer reviews.

  • Employees: Request new games (update of the game catalog), review refund requests, and view customer accounts (email, physical address, username, order history, wishlist).

  • Customers: View the game catalog, add/remove games into their cart, add/remove games to their wishlist, rate games they have bought out of 5, open a refund request, and view their order history.

    All accounts must be able to login with a username and password.

Tasks

Deliverable 1

The main goal of this deliverable was to start the project's software design process. Different techniques and steps were used to do so.

  • Requirements Model: Identify a list of functional and non-functional system requirements.
  • Use-Case Diagrams: Prepare two use-case diagrams documenting some of these requirements.
  • Detailed Specifications: Each team member needs to provide a detailed specification of one use case with the main flow and its exceptions.
  • Domain Model: Show the relationships between every class of the system and provide a brief rationale.
  • Persistence Layer: Develop a persistence layer to access data using Hibernate and an Object-Relational Mapping (ORM) technique.
  • Testing of Persistence Layer: Write test cases using read/write operations for each domain model class on the local PostgreSQL database.
  • Build System: Needed to automate the process of compiling and packaging the code.
  • Project Report: A README file should also be made to introduce the team, the main scope of the project, and individual efforts (in hours). The project wiki should also be visible.
  • Project Management: Creation of communication channels (Discord, Instagram). Each issue needs an assignee to trace responsibilities within the team.

Deliverable 2

  • Implementation of Backend Services: Cover use-cases and create/update/delete/get methods via RESTful API.
  • Software quality plan: Define test coverage, challenges, and other quality assurance (code reviews, coding conventions, static analysis tools).
  • Unit testing of backend services: Develop a test suite for the use cases using the JUnit framework.
  • Integration testing of backend services: Demonstrate successful execution of REST APIs.
  • Build system: Needed to automate the process of compiling and packaging the code.
  • Project management and report: Include README file, project wiki, GitHub issues, backlog and milestone.

Deliverable 3

  • Implementation of Web Frontend: Provide a graphical user interface for web frontend, using HTML, CSS, and JavaScript.
  • Integration of Web Frontend with Backend Services: asynchronous calls to backend services via RESTful APIs from deliverable 2.
  • Build system: Needed to automate the process of compiling and packaging the code.
  • Project management and report: Include README file, project wiki, Github issues, backlog and milestone.

Team Members

Name GitHub Username Deliverable 1 Deliverable 2 Deliverable 3 Total Hours
Ana Gordon anagordon 11 30 40 81
Aerin Brown aerin-brown-codes 11 16 30 57
Tarek Namani Tatok-n 11 25 25 61
Jake Kogut jacobkogut 11 16 18 45
Camille Pouliot Camomille103 11 20 20 51
Clara Mickail claraMickail 11 18 20 49

About

project-group-4 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages