EatSafe is a web app that helps users efficiently track food items, reduce waste, and manage their pantry. It features fridge management, personalized notes, expiry alerts, and smart recipe suggestions based on nearly expired or available items.
- Fridge Manager – Add, update, and delete food items with expiry tracking
- Notes System – Add personal notes and like/unlike them
- User Reviews – Submit and display the latest 3 user testimonials
- Dashboard – Visual overview of stats, expiring items, and food categories
- Recipe Suggestions – Get recipes based on your near-expiry or available foods
- Search, Filter, Sort – Easily find and manage your stored food items
- Light/Dark Theme – Seamless theme toggle across the app
- Authentication – Firebase-based secure login and profile updates
- Secure API - EatSafe backend APIs are protected by verifying Firebase Authentication ID tokens.
- React + Vite
- React Router DOM
- Axios, dayjs, react-countdown, tanStack Table, react toastify, framer motion, recharts
- Firebase Authentication (handles user authentication and API token verification)
- Tailwind CSS (theme support)
- Node.js + Express.js
- MongoDB (Native Driver)
- dotenv for config management
git clone https://github.com/TrustfratedIsNotAvailable/EatSafe.git
cd EatSafecd server
npm installCreate a .env file in server/:
PORT=3000
DB_USER=yourMongoUser
DB_PASS=yourMongoPasswordThen run:
npm run devcd client
npm install
npm run dev