← Back
FoodExpiry dashboard preview

ROLE

Full Stack Developer

STATUS

Complete

CATEGORY

Full Stack

FoodExpiry

2026

Home Food Inventory & Expiry Tracker

A full-stack MERN app that helps households manage their food inventory, automatically tracks expiry status, and sends consolidated email reminders before items go to waste. Includes a family-sharing system so multiple members can view and manage a shared inventory, plus a dashboard with real-time stats and charts.

Key Features

  • JWT authentication stored in HTTP-only cookies, with bcrypt password hashing and protected API routes
  • Full food CRUD (add/view/update/delete) with category, quantity, unit, storage location, notes, and image upload
  • Backend-calculated expiry status (Fresh / Expiring Soon / Expired) that can never be spoofed from the client
  • Family system — create a family, add/remove members by email, Owner and Member roles, and a combined shared inventory
  • Automated daily email reminders (Nodemailer + Node Cron) that group each user's expiring foods into a single consolidated email
  • Search, category/status filtering, and pagination across the food inventory
  • Cloudinary-based image uploads for food items and profile pictures

Dashboard

  • Summary cards for Total Foods, Expiring Soon, Expired, and Fresh counts
  • Expiring Soon and Expired food lists showing the first 3 items with a 'View All' link
  • Food by Category donut chart built with Recharts
  • Expiry Overview donut chart breaking down Fresh / Expiring Soon / Expired
  • Recently Added Foods panel showing the 3 most recently added items
  • My Family panel with a quick view of family members and a link to the full family page
  • All stats calculated dynamically from the live family-wide inventory, not hardcoded

Built With

  • React
  • Vite
  • Tailwind CSS
  • DaisyUI
  • Recharts
  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT
  • Multer
  • Cloudinary
  • Nodemailer
  • Cron