Turning food waste into community nourishment 🌱
A web-based platform that empowers schools, students, and community volunteers to rescue surplus food and connect it with those in need.
PantryShare is a revolutionary platform designed to tackle two critical issues: food waste and hunger. By creating a seamless connection between food donors (schools, households) and recipients (shelters, families in need), we're building a more sustainable and caring community.
Our Mission: Transform potential food waste into community nourishment through technology and volunteer coordination.
- Quick & Easy: Snap a photo, enter quantity/type, and set expiry date
- Mobile-First: Optimized for on-the-go food donations
- Smart Categorization: Automatic food type detection and allergen warnings
- Interactive Map: Real-time pins showing "ready for pick-up" locations
- Visual Dashboard: Intuitive interface for volunteers to find nearby donations
- Distance-Based Sorting: Efficient route planning for volunteers
- Smart Algorithm: Auto-matches volunteers by distance and availability
- Flexible Scheduling: Choose your volunteer time windows
- Skill-Based Matching: Connect specialized volunteers with specific needs
- Real-Time Chat: Coordinate logistics without external apps
- Push Notifications: Stay updated on new opportunities and confirmations
- Status Updates: Track donation progress from listing to delivery
- Donation Dashboard: Track total meals rescued and environmental impact
- Carbon Footprint: Calculate CO₂ saved through food rescue
- Community Stats: See collective impact across your community
- Shelter Management: Food banks can update needs calendars
- Inventory Tracking: Real-time updates on received donations
- Volunteer Coordination: Manage volunteer schedules and assignments
- Framework: Vue.js 3.5.17 with Composition API
- Build Tool: Vite (Latest)
- Styling: CSS3 with responsive design
- PWA: Progressive Web App capabilities for mobile access
- Linting: ESLint + OXLint for code quality
- Package Manager: npm with run-all2 for script coordination
- Hot Reload: Vite dev server with instant updates
- Backend: Node.js + Express
- Database: Firebase Firestore
- Real-time: Socket.IO for chat functionality
- Notifications: Firebase Cloud Messaging (FCM)
- Maps: Google Maps JavaScript API
- Hosting: Vercel/Netlify (Frontend), Heroku/Render (Backend)
- Node.js (v16 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/dhrumilp12/PantryShare.git cd PantryShare/PantryShare -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser
Navigate to
http://localhost:5173to see the application
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run all linters (ESLint + OXLint)
npm run lint:eslint # Run ESLint specifically
npm run lint:oxlint # Run OXLint specifically-
Clone the repository
cd PantryShare/Backend -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Fill in your Firebase credentials and other configuration:
NODE_ENV=development PORT=5000 # Firebase Configuration FIREBASE_PROJECT_ID=your-firebase-project-id FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n" FIREBASE_CLIENT_EMAIL=your-client-email # ... other Firebase config # JWT Configuration JWT_SECRET=your-super-secret-jwt-key JWT_EXPIRES_IN=7d # Google Maps API GOOGLE_MAPS_API_KEY=your-google-maps-api-key
-
Set up Firebase
- Create a Firebase project at https://console.firebase.google.com
- Enable Firestore Database
- Enable Storage
- Generate a service account key
- Download the key and extract the values for your .env file
-
Start the development server
npm run dev
The server will start on http://localhost:5000
- High School Volunteers: Students looking to make a community impact
- School Cafeterias: Reduce daily food waste efficiently
- Food Banks & Shelters: Access fresh donations with better coordination
- Community Organizations: Streamline food rescue operations
- Quick mobile form with photo upload
- Set pickup time window and location
- Automatic expiry date validation
- Volunteers see available donations on interactive map
- Click pin to view details and claim pickup
- Smart routing for efficient collection
- In-app chat for logistics coordination
- Real-time status updates
- Confirmation system for completed deliveries
- Dashboard showing meals rescued
- Environmental impact metrics
- Community leaderboards and achievements
- Food Waste Reduction: Divert surplus food from landfills
- Carbon Footprint: Reduce methane emissions from food decomposition
- Resource Conservation: Maximize use of already-produced food
- Hunger Relief: Direct food access for families in need
- Youth Engagement: Meaningful volunteer opportunities for students
- Community Building: Strengthen local networks and relationships
- Meals rescued and distributed
- Pounds of food waste prevented
- CO₂ emissions avoided
- Volunteer hours contributed
- Families served
- ✅ Technical Complexity: Combines CRUD operations, real-time updates, mapping, and notifications
- 🎨 User Experience: Mobile-first, intuitive design for seamless interaction
- 🌱 Social Purpose: Addresses critical issues of hunger and sustainability
- 📈 Scalability: Designed for expansion across school networks and communities
- 💡 Innovation: Fresh approach to food rescue at the hyper-local level
We welcome contributions from developers, designers, and community advocates! Here's how you can help:
- 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
- Follow Vue.js 3 best practices
- Use ESLint configuration for code style
- Write meaningful commit messages
- Test thoroughly before submitting PRs
This project is licensed under the MIT License - see the LICENSE file for details.
- Building technology for social good
- Passionate about sustainability and community impact
- Dedicated to creating meaningful solutions
- GitHub Issues: For bug reports and feature requests
- Email: dhrumil1612@icloud.com
- Project Link: https://github.com/dhrumilp12/PantryShare
- Built for LionHacks Summer 2025
- Inspired by the global food waste crisis
- Supported by the open-source community
- Dedicated to all volunteers working to feed their communities
Together, we can turn food waste into community nourishment. 🌟
PantryShare - Where technology meets compassion