
ROLE
Full Stack Developer
STATUS
Complete
CATEGORY
Full Stack
FoodExpiry
2026Home 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