<HC />
Back to Projects
Full-Stack Web ApplicationCompleted

FoodSave

A full-stack food waste reduction marketplace that connects food businesses with customers by allowing surplus and near-expiry food items to be sold at discounted prices through a role-based platform with administrative oversight.

Java 8Spring MVC 5.2Hibernate 5.4Spring ORMMySQL 8MavenApache Tomcat 9JSPCSSFont Awesome

Screenshots

FoodSave — Landing Page
Landing Page
FoodSave — Admin Dashboard
Admin Dashboard
FoodSave — Business Dashboard
Business Dashboard
FoodSave — Inventory Management
Inventory Management
FoodSave — Business Orders View
Business Orders View

Key Metrics

Admin · Business

Monolithic MVC Application

MySQL

Apache Tomcat

Session-Based

Hibernate

Overview

FoodSave is a multi-role marketplace platform designed to reduce food waste by enabling businesses to sell surplus food at discounted prices before expiry. Customers can browse listings and place pickup orders, while administrators manage business approvals and platform governance.

Problem

Food waste remains a major issue for restaurants, bakeries, and food vendors who often discard surplus inventory. At the same time, customers may seek affordable food options. A system was needed to connect these groups while managing inventory, approvals, and ordering workflows.

Solution

Built a role-based marketplace where businesses can list surplus food items, customers can purchase discounted inventory, and administrators can control business onboarding and platform moderation through structured approval workflows.

Architecture

Traditional Java enterprise architecture using Spring MVC for request handling, Hibernate ORM for persistence, MySQL as the relational database, JSP for server-side rendering, and Apache Tomcat for deployment. The system follows a layered MVC architecture with Controllers, DAO layer, Hibernate ORM, and relational database storage.

Challenges

  • Designing a multi-role access control system.
  • Managing inventory lifecycle transitions.
  • Implementing order state management workflows.
  • Configuring Spring MVC without Spring Boot.
  • Integrating Hibernate with Spring ORM.
  • Designing normalized relational database schemas.
  • Managing session-based authentication flows.

Lessons Learned

  • Spring MVC internals and DispatcherServlet lifecycle.
  • Hibernate SessionFactory configuration and ORM patterns.
  • Relational database design and normalization.
  • DAO pattern implementation.
  • Enterprise Java application architecture.
  • Session-based authentication mechanisms.
  • Domain-driven state machine modeling.
  • Traditional Java web deployment workflows.