Skip to content

ChanfeiLi/grocery-assistant-overview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 

Repository files navigation

Grocery Shopping Assistant (swtGrocery)

A collaborative university project developed by a 7-person team, designed to help users plan grocery shopping more efficiently through personalized suggestions, past-purchase analysis, and an intuitive JavaFX interface.


๐Ÿ“Œ Project Overview

The goal of this project was to build a functional grocery-shopping assistant that reduces planning effort, avoids forgotten items, and supports users through behavior-based product recommendations.

The software analyzes purchase history, manages grocery lists, and provides intelligent suggestions based on user behavior. The application follows a layered architecture and was developed using Agile (Scrum) across 5 sprints.


โœ… Key Features

Feature Area Description
๐Ÿ›’ Smart Grocery List Manage products, categories, quantities, units, and past shopping history
๐Ÿค– Suggestion Engine Provides personalized item recommendations based on Apriori algorithm + heuristics
๐Ÿ”„ Purchase Analytics Learns from user history to auto-suggest recurring items
๐Ÿ–ฅ๏ธ JavaFX GUI Desktop interface for catalog, suggestions, and grocery list
๐Ÿ” Search & Filtering Product search, selection, and list updates in real time
๐Ÿ“ฆ Modular MVC Architecture Clear separation of Model, View, and Controller layers
๐Ÿ‘ฅ Multi-user Collaboration Team-based development, iterative design, multi-role responsibility

๐Ÿ—๏ธ System Architecture

The application adopts the Model-View-Controller (MVC) pattern, ensuring modularity, testability, and maintainability.

Architecture Diagram

  • Model โ€“ Data handling, purchase history, suggestion algorithm, database layer
  • View โ€“ JavaFX UI screens (catalog, grocery list, suggestion view, history)
  • Controller โ€“ Input handling, workflows, list operations, suggestion logic binding

๐Ÿงฉ Use Case Realization

Use Case Realization

The system supports all core user actions:

  • Create / update / delete grocery list items
  • Import past purchases
  • Generate and accept/reject suggestions
  • Search within product catalogs
  • Handle database persistence and recommendation updates

๐ŸŽจ Final Prototype (JavaFX UI)

The following screenshot shows the final high-fidelity prototype delivered at the end of Sprint 5:

High-fidelity Prototype


๐Ÿ”„ Development Process (Scrum)

  • 5 total sprints
  • Weekly internal progress meetings
  • Bi-weekly stakeholder reviews with professor & customer
  • Dedicated roles (Scrum Master, Product Owner rotation, etc.)
  • Full documentation: Stakeholder analysis, functional & system requirements, risk analysis, cost estimation, prototyping, sprint reports

๐Ÿ‘ค My Contributions

Area Contribution
๐ŸŽฏ Role Scrum Master (Sprint 5) + Developer
๐Ÿง  Frontend (JavaFX UI) Catalogue / Past Purchase search field, Suggestion GUI
โš™๏ธ Backend Grocery list marking logic, past purchase search endpoint
๐Ÿงฎ Algorithms Suggestion logic improvements, duplicate-prevention rules
๐Ÿ“„ Documentation Final report โ€” Section 4.6, Sprint 5 development report
๐Ÿค Team Work Sprint planning, task breakdown, cross-team communication

๐Ÿ“š What I Learned

This project significantly strengthened my understanding of:

  • Spring Boot application flow and Java backend architecture.
  • Designing clean, modular software using MVC principles.
  • Real-world team collaboration under Agile methodology.
  • Integrating frontend and backend systems within a multi-developer environment.
  • The importance of requirement engineering, stakeholder feedback, and iterative design.

๐Ÿงพ Project Context & Credits

This project was conducted as part of a Software Engineering university course under supervised academic guidance.
It reflects collaborative work by a seven-member development team, combining technical implementation with analytical documentation and design.


โš ๏ธ Copyright Notice

The source code for this project is not publicly available due to university copyright and collaboration agreements.
This repository only contains images and a detailed README to document the projectโ€™s structure, design, and outcomes.
All materials are shared for educational and portfolio purposes only.

About

University software engineering project implementing a Java-based grocery assistant with MVC architecture, JavaFX UI, and intelligent suggestions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors