Skip to content

Enzo2806/Grocery-Store-Software-System

 
 

Repository files navigation

Grocery Store Software System

Introduction

In this project for the McGill ECSE 321: Introduction to Software Engineering course, our team of six students has developed a comprehensive Grocery Store Software System (GSSS) to support a local grocery store in managing interactions with customers, employees, and the store owner. The GSSS enables customers to browse and order food items, household goods, and ready-made food online for delivery or pickup through a web interface and a mobile application.

The system supports account creation for customers either through the web and app interfaces or through store employees. While local customers enjoy free delivery, those outside the town limits are charged a delivery fee. Pickup orders incur no service fee. Store management functionalities, including scheduling, staffing, and operational hours, are exclusive to the store owner, who also possesses all employee privileges.

The software is designed with a multi-tier architecture and supports both a web frontend and an Android mobile application, each integrating seamlessly with a backend deployed on Heroku. The backend is accessible via RESTful API calls, ensuring flexible and efficient operations.

Key Resources

  • Project Wiki: Contains comprehensive documentation, including meeting minutes, continuous integration notes, user documentation, domain model decisions, requirements and use case diagrams, testing documentation, and REST API documentation.
  • Business Proposal Slides
  • Feature Demo Video
    YOUTUBE VIDEO

System Design and Architecture

Requirements and Use Cases

The application's functional and non-functional requirements are detailed here, with refined use cases that guide the design and development process.

UML Class Diagram

The UML Class Diagram illustrates the system's structure and is discussed in-depth here.

GSSS Class Diagram

REST API Service Endpoints and Testing

Documentation of all RESTful service endpoints and their testing can be found here.

Application Architecture

The final architecture of the GSSS is accessible here, providing a detailed overview of the system's layout and interaction patterns.

GSSS Architecture

About

Grocery Store Web and Android Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 73.8%
  • JavaScript 14.9%
  • Vue 8.3%
  • CSS 3.0%