Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ZeroSpoil is a full-stack web application built to help users manage food items efficiently by tracking expiry dates. It sends timely reminders to avoid food spoilage and encourages mindful consumption. Designed as a complete CRUD system with authentication, it's a practical app to learn full-stack principles while promoting sustainability.

Notifications You must be signed in to change notification settings

ei-shadi/ZeroSpoil

Repository files navigation

Track your food. Waste less. Save more.

A smart food expiry tracker helping households reduce food waste through timely alerts and clean organization.


📷 Interface Snapshots 🌟

ZeroSpoil Screenshot


✨ Project Overview

ZeroSpoil is a full-stack web application designed to help users efficiently manage food items by tracking expiry dates. It sends timely reminders to prevent food spoilage and promotes mindful consumption. Built as a complete CRUD system with secure Firebase authentication, it encourages sustainability by reducing food waste.


🚀 Features

  • 🔖 Add, edit, delete, and view food items with expiry dates
  • 🔐 Firebase authentication (Register / Login / Logout)
  • Receive alerts before food items expire
  • SweetAlert2-powered confirmation dialogs
  • 💬 Real-time toast notifications using React Hot Toast
  • 🔒 Protected routes ensuring secure user data handling
  • 📱 Responsive design with Tailwind CSS and DaisyUI
  • 🏷️ Dynamic page titles using React Helmet Async

🤖 Tech Stack

🛠️ Technology 💡 Purpose
React Frontend UI
🔁 React Router Routing & Navigation
🌼 DaisyUI + 💨 Tailwind CSS Styling & Components
🔥 Firebase Authentication & Backend
🗃️ TanStack Query Data Fetching & State Management (React Query)
🌶 React Hot Toast Toast Notifications
🍬 SweetAlert2 Alert Popups
🎨 React Icons Iconography
🪖 React Helmet Async SEO / Meta Tags
Framer Motion Animations

🌐 Live Site

🎯 Visit Live
👉 Open ZeroSpoil Now...


🖥️ ZeroSpoil Server:

🌟 Server Code:
👉https://github.com/ei-shadi/ZeroSpoil-Server.git


⚙️ Installation & Setup

  1. Clone The Repository For Frontend:
git clone https://github.com/ei-shadi/ZeroSpoil.git
cd eliteclub
npm install          # inside root or / client folder
  1. Clone The Repository For Backend:
git clone https://github.com/ei-shadi/ZeroSpoil-Server.git
cd server 
npm install          # inside root or / server folder
  1. Configure environment variables:
    Create a .env file inside /server folder with:
MONGODB_URI=your_mongodb_uri
  1. Add Firebase Admin SDK:
    Place your Firebase Admin SDK file as firebase-admin-key.json in the /server folder.

  2. 👀 Let's Go Live:

cd ZeroSpoil              ✨Client Side
npm run dev
----------------------
----------------------
cd ZeroSpoil-Server       ✨Server Side
node index.js

📦 API Endpoints (Express + MongoDB + Firebase Auth)

Method Endpoint Description
GET /foods-data Get all food items
GET /upcoming-expire-foods Get foods expiring within 7 days
GET /expired-foods Get expired foods
GET /food-details/:id Get food item by ID
GET /food-data-by-email/:email Get food items by user email (Auth)
POST /foods-data Add new food item (Auth)
POST /food-data/:id Add note to food item (Auth)
PUT /foods-data/:id Update food item
DELETE /foods-data/:id Delete food item (Auth)
GET /foods-data/search Search & paginate food items

🔐 Note: Protected routes require Firebase Bearer Token authentication.

About

ZeroSpoil is a full-stack web application built to help users manage food items efficiently by tracking expiry dates. It sends timely reminders to avoid food spoilage and encourages mindful consumption. Designed as a complete CRUD system with authentication, it's a practical app to learn full-stack principles while promoting sustainability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published