foodconnect_1.mp4
FoodConnect is a comprehensive food donation platform that connects food donors (restaurants, grocery stores, individuals) with recipients (food banks, shelters, individuals in need) through a network of volunteers. Built with modern web technologies and powered by Google Cloud services, FoodConnect streamlines the food donation process, reduces food waste, and helps feed those in need.
- Easy Donation Creation: Create food donations with detailed information including food type, quantity, storage requirements, and pickup instructions
- Real-time Tracking: Monitor the status of your donations from creation to delivery
- Donation History: View your past donations and their impact
- Location-based Matching: Connect with recipients in your area
- Browse Available Donations: View and claim available food donations in your area
- Real-time Updates: Receive notifications when donations are claimed and delivered
- Delivery Tracking: Track the status of your claimed donations
- Impact Dashboard: See your contribution to reducing food waste and feeding those in need
- Available Deliveries: Browse and accept available delivery opportunities
- Real-time Status Updates: Update delivery status at each step of the process
- Detailed Information: Access comprehensive details about pickups and dropoffs
- Delivery History: Track your completed deliveries and impact
- Registration: Sign up as a donor with organization details
- Create Donation: Add food details, quantity, storage requirements, and pickup information
- Monitor Status: Track when your donation is claimed and delivered
- View Impact: See how your donation helped reduce food waste and feed those in need
- Registration: Sign up as a recipient with organization details
- Browse Donations: View available food donations in your area
- Claim Donation: Select and claim a donation that meets your needs
- Track Delivery: Monitor the status of your claimed donation
- Receive Food: Get notified when the food is delivered
- Registration: Sign up as a volunteer with contact information
- Browse Deliveries: View available delivery opportunities
- Accept Delivery: Select and accept a delivery
- Update Status: Update the delivery status at each step (pickup, in transit, delivered)
- Complete Delivery: Mark the delivery as complete when food is delivered
- React: Modern UI library for building interactive user interfaces
- TypeScript: Type-safe JavaScript for robust code
- Tailwind CSS: Utility-first CSS framework for rapid UI development
- Framer Motion: Animation library for smooth transitions and interactions
- React Router: Client-side routing for seamless navigation
- Firebase Authentication: Secure user authentication and authorization
- Cloud Firestore: NoSQL database for real-time data synchronization
- Firebase Storage: Secure storage for images and files
- Firebase Hosting: Fast and secure web hosting
- Firebase Security Rules: Granular security controls for data access
- Google Maps API: Location services for pickup and delivery points
- Firebase Realtime Database: Real-time updates for delivery status
- Firebase Cloud Functions: Serverless backend for complex operations
- Firebase Analytics: User behavior tracking and insights
- Firebase Performance Monitoring: Performance optimization
- Node.js (v14 or higher)
- npm or yarn
- Firebase account
-
Clone the repository
git clone https://github.com/yourusername/foodconnect.git cd foodconnect -
Install dependencies
npm install # or yarn install -
Set up environment variables Create a
.envfile in the root directory with your Firebase configuration:VITE_FIREBASE_API_KEY=your_api_key VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id VITE_FIREBASE_APP_ID=your_app_id VITE_FIREBASE_MEASUREMENT_ID=your_measurement_id -
Start the development server
npm run dev # or yarn dev -
Open your browser and navigate to
http://localhost:5173
FoodConnect is deployed on Firebase Hosting. To deploy your own instance:
-
Build the project
npm run build # or yarn build -
Deploy to Firebase
firebase deploy
FoodConnect is fully responsive and works seamlessly on desktop, tablet, and mobile devices. The UI adapts to different screen sizes, ensuring a consistent user experience across all devices.
FoodConnect implements robust security measures:
- Authentication: Secure user authentication with Firebase Auth
- Authorization: Role-based access control for donors, recipients, and volunteers
- Data Validation: Input validation to prevent malicious data
- Secure Storage: Encrypted storage for sensitive information
- Firebase Security Rules: Granular access control for database operations
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Cloud Platform for providing the infrastructure
- Firebase for the real-time database and authentication
- All contributors who have helped shape FoodConnect
Built with ❤️ for the Google Solutions Challenge