A comprehensive web application designed to reduce food waste by connecting surplus food with those who need it. Built with React frontend and designed for scalability.
- User Authentication: Secure login and registration system
- Food Inventory Management: Add, browse, and manage surplus food items
- Smart Analytics: Track food waste reduction and impact metrics
- Interactive Dashboard: Real-time overview of food surplus and distribution
- Leaderboard: Gamification to encourage food sharing
- Timer Notifications: Track food freshness and expiry dates
- Responsive Design: Mobile-friendly interface
- React - User interface framework
- React Router - Client-side routing
- Chart.js - Data visualization
- React Icons - Icon components
- Axios - HTTP client for API calls
- CSS Modules - Scoped styling
- Vite - Build tool and development server
- ESLint - Code linting and quality
- React Hot Reload - Development experience
ZeroBite/
├── Frontend/
│ └── smart-surplus-app/
│ ├── src/
│ │ ├── components/
│ │ │ ├── auth/ # Authentication components
│ │ │ ├── charts/ # Chart components
│ │ │ ├── food/ # Food-related components
│ │ │ ├── layout/ # Layout components
│ │ │ └── shared/ # Reusable components
│ │ ├── context/ # React Context providers
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ ├── styles/ # CSS files
│ │ ├── App.jsx # Main App component
│ │ └── main.jsx # Entry point
│ ├── public/ # Static assets
│ ├── package.json # Dependencies
│ └── vite.config.js # Vite configuration
└── Backend/ # Backend (to be implemented)
- Node.js (version 14 or higher)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/yourusername/ZeroBite.git
cd ZeroBite- Navigate to the frontend directory:
cd Frontend/smart-surplus-app- Install dependencies:
npm install
# or
yarn install- Start the development server:
npm run dev
# or
yarn dev- Open your browser and visit
http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- LoginForm.jsx - User login interface
- Registration.jsx - User registration interface
- ProtectedRoute.jsx - Route protection wrapper
- AuthContext.jsx - Authentication state management
- FoodCard.jsx - Display food item cards
- FoodForm.jsx - Add new food items
- TimerTag.jsx - Food freshness tracking
- FoodContext.jsx - Food state management
- DashboardPage.jsx - Main dashboard
- AnalyticsChart.jsx - Data visualization
- DashboardSummaryCard.jsx - Summary metrics
- AnalyticsPage.jsx - Detailed analytics
- Navbar.jsx - Navigation bar
- Sidebar.jsx - Side navigation
- Footer.jsx - Page footer
- LoadingSpinner.jsx - Loading states
- Notification.jsx - User notifications
Create a .env file in the frontend directory:
VITE_API_BASE_URL=your_api_base_url
VITE_APP_NAME=ZeroBite- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Backend API development
- Real-time notifications
- Mobile app development
- Integration with food banks and NGOs
- AI-powered food categorization
- Location-based food sharing
- Multi-language support
This project is licensed under the MIT License - see the LICENSE file for details.
- Developer: [Your Name]
- Project Type: Food Waste Reduction Platform
For support, email support@zerobite.com or create an issue in this repository.
Made with ❤️ to reduce food waste and build a sustainable future