Skip to content

FrostByte-49/SurplusServe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SurplusServe: Smart Food Redistribution Platform

SurplusServe transforms food waste into community wealth. In a world where one-third of all food is wasted while millions go hungry, we've built the ultimate platform connecting food donors with those in need. We bridge the gap between surplus food and food insecurity through intelligent location services and impactful tracking.

Powered by location intelligence, interactive maps, and beautiful modern design, SurplusServe creates sustainable ecosystems where businesses reduce waste, communities gain access to nutritious food, and everyone contributes to environmental sustainability. This isn't just another food app; it's a movement that turns excess into access, waste into worth.


πŸ“š Table Of Contents


✨ Features

  • 🎯 Food Location Finder – Discover nearby food banks, shelters, and community centers
  • πŸ—ΊοΈ Interactive Map Integration – Real-time geolocation with OpenStreetMap
  • πŸ“Š Impact Tracking Dashboard – Visualize meals saved, COβ‚‚ reduced, and people helped
  • πŸ“± Easy Donation Interface – Simple form for food donation planning
  • πŸ” Food Availability Browser – Find available food resources in your area
  • 🌱 Environmental Analytics – Calculate waste reduction and carbon impact
  • πŸ‘€ User Profiles – Personalized dashboards with achievement tracking
  • πŸ“± PWA Ready – Installable progressive web app for mobile use
  • ✨ Modern UI Design – Clean, intuitive interface with orange/white theme

πŸ“Έ Preview

Home Page Food Locations
Home Page Food Locations
Donate Food Receive Food
Donate Food Receive Food
Impact Tracker Profile Page
Impact Tracker Profile Page

πŸ“ Project Structure

SurplusServe/
└── πŸ“SurplusServe_
     β”œβ”€β”€ πŸ“frontend/                        
     β”‚    β”œβ”€β”€ πŸ“public/                      
     β”‚    β”‚    β”œβ”€β”€ πŸ“icons/                     # PWA application icons
     β”‚    β”‚    β”‚    β”œβ”€β”€ icon-48.png            
     β”‚    β”‚    β”‚    β”œβ”€β”€ icon-72.png            
     β”‚    β”‚    β”‚    β”œβ”€β”€ icon-96.png            
     β”‚    β”‚    β”‚    β”œβ”€β”€ icon-144.png           
     β”‚    β”‚    β”‚    β”œβ”€β”€ icon-192.png           
     β”‚    β”‚    β”‚    β”œβ”€β”€ icon-256.png           
     β”‚    β”‚    β”‚    └── icon-512.png           
     β”‚    β”‚    β”‚
     β”‚    β”‚    β”œβ”€β”€ πŸ“preview/                   # Application screenshots
     β”‚    β”‚    β”‚    β”œβ”€β”€ Image_1.webp          
     β”‚    β”‚    β”‚    β”œβ”€β”€ Image_2.webp          
     β”‚    β”‚    β”‚    β”œβ”€β”€ Image_3.webp          
     β”‚    β”‚    β”‚    β”œβ”€β”€ Image_4.webp          
     β”‚    β”‚    β”‚    β”œβ”€β”€ Image_5.webp          
     β”‚    β”‚    β”‚    └── Image_6.webp          
     β”‚    β”‚    β”‚
     β”‚    β”‚    β”œβ”€β”€ _redirects                   # Netlify routing rules
     β”‚    β”‚    └── manifest.webmanifest         # PWA manifest file
     β”‚    β”‚
     β”‚    └── πŸ“src/                         
     β”‚    β”‚    β”œβ”€β”€ πŸ“components/                # Reusable UI components
     β”‚    β”‚    β”‚    β”œβ”€β”€ BottomNav.tsx           # Bottom navigation bar
     β”‚    β”‚    β”‚    └── Header.tsx              # Page header component
     β”‚    β”‚    β”‚ 
     β”‚    β”‚    β”œβ”€β”€ πŸ“pages/                     # Application pages
     β”‚    β”‚    β”‚    β”œβ”€β”€ HomePage.tsx            # Landing/dashboard page
     β”‚    β”‚    β”‚    β”œβ”€β”€ DonateFood.tsx          # Food donation interface
     β”‚    β”‚    β”‚    β”œβ”€β”€ ReceiveFood.tsx         # Food receiving interface
     β”‚    β”‚    β”‚    β”œβ”€β”€ FindLocations.tsx       # Location finder with maps
     β”‚    β”‚    β”‚    β”œβ”€β”€ ImpactTracker.tsx       # Impact analytics dashboard
     β”‚    β”‚    β”‚    └── ProfilePage.tsx         # User profile management
     β”‚    β”‚    β”‚
     β”‚    β”‚    β”œβ”€β”€ App.tsx                      # Main application component
     β”‚    β”‚    β”œβ”€β”€ index.css                    # Global styles
     β”‚    β”‚    β”œβ”€β”€ main.tsx                     # Application entry point
     β”‚    β”‚    └── vite-env.d.ts                # Vite type definitions
     β”‚    β”‚
     β”‚    β”œβ”€β”€ .gitignore                        # Git ignore rules
     β”‚    β”œβ”€β”€ eslint.config.js                  # ESLint configuration
     β”‚    β”œβ”€β”€ index.html                        # HTML entry point
     β”‚    β”œβ”€β”€ package-lock.json                 # Dependency lock file
     β”‚    β”œβ”€β”€ package.json                      # Frontend dependencies
     β”‚    β”œβ”€β”€ postcss.config.js                 # PostCSS configuration
     β”‚    β”œβ”€β”€ tailwind.config.js                # Tailwind CSS configuration
     β”‚    β”œβ”€β”€ tsconfig.app.json                 # TypeScript app config
     β”‚    β”œβ”€β”€ tsconfig.json                     # TypeScript configuration
     β”‚    β”œβ”€β”€ tsconfig.node.json                # TypeScript node config
     β”‚    └── vite.config.ts                    # Vite build configuration
     β”‚
     β”œβ”€β”€ .gitattributes                         # Git attributes
     β”œβ”€β”€ LICENSE                                # MIT License file
     └── README.md                              # Project Documentation

βš™οΈ Technologies Used

Technology Purpose Version
React Frontend framework 18+
TypeScript Type-safe development 5.x
Vite Build tool and dev server 4.x
Tailwind CSS Utility-first styling 3.x
React Leaflet Interactive maps 4.x
Framer Motion Animations and transitions 10.x
Lucide React Icon library 0.x
OpenStreetMap Mapping tiles and data -
Overpass API Location data queries -

πŸš€ Getting Started

A) Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn package manager
  • Modern web browser with geolocation support

B) Installation

  1. Clone The Repository
git clone https://github.com/yourusername/SurplusServe.git
cd SurplusServe/SurplusServe_/frontend

  1. Install Dependencies
npm install

  1. Start Development Server
npm run dev

  1. Open Your Browser Navigate to http://localhost:5173 to access SurplusServe!

C) Building for Production

# Create production build
npm run build

# Preview production build locally
npm run preview

🧭 Usage Guide

A) For Food Donors πŸͺ

  1. Navigate to Donate Page – Click "Donate Food" from home or navigation
  2. Explore Food Details – View different food categories and quantities
  3. Find Nearby Locations – Use the location finder to identify drop-off points
  4. Plan Your Donation – Understand the impact of your contribution
  5. Track Your Impact – See how your donation helps the community

B) For Food Recipients 🏘️

  1. Browse Available Resources – Check "Receive Food" for nearby assistance
  2. Use Location Finder – Find food banks, shelters, and community centers
  3. Filter Options – Search by distance, food type, or service hours
  4. Get Directions – Use integrated maps for navigation
  5. Access Resources – Connect with local food assistance programs

C) For Community Awareness 🌍

  1. View Impact Dashboard – Understand the scale of food waste and hunger
  2. Track Community Progress – See collective impact metrics
  3. Learn About Solutions – Discover how to get involved locally
  4. Share Resources – Help spread awareness about food assistance
  5. Build Your Profile – Track your personal contributions and engagement

🎯 Core Features

A) Intelligent Location Finder πŸ—ΊοΈ

  • Real-time Geolocation: Find nearby food banks, shelters, and community centers using browser geolocation
  • Interactive Maps: Powered by OpenStreetMap with custom food assistance icons
  • Smart Radius Search: Adjust search distance from 1km to 25km
  • Category Filtering: Filter by food bank, restaurant, grocery, bakery, or cafe
  • One-tap Navigation: Direct integration with Google Maps for turn-by-turn directions
  • Live Distance Calculation: Real-time distance calculations from your current location

B) Impact Tracking Dashboard πŸ“Š

  • Comprehensive Analytics:
    const impactMetrics = {
      mealsSaved: 12,847,
      co2Reduced: 8.2, // tons
      peopleHelped: 3,200,
      partnersJoined: 127,
      waterSaved: 256 // thousand liters
    };
  • Visual Progress Charts:
    • Monthly growth tracking with interactive graphs
    • Environmental equivalent visualizations
    • Top contributor rankings and recognition
  • Personalized Statistics: Individual contribution tracking and goal setting

C) User Profile Management πŸ‘€

  • Personal Dashboard: Track engagement, saved locations, and preferences
  • Interactive Editing: Photo upload and profile information management
  • Activity History: Log of location searches and resource views
  • Settings Control: Notification preferences and display options
  • Achievement System: Visual badges for community engagement

D) Progressive Web App πŸ“±

  • Installable: Add to home screen on iOS and Android devices
  • Responsive Design: Optimized for mobile, tablet, and desktop
  • Fast Performance: Built with Vite for optimal loading speeds
  • Cross-platform: Works across all modern browsers
  • Offline-ready: Service worker integration for reliable access

🌈 Customization

A) Theming & Branding

  • Modify tailwind.config.js to customize the orange/white color scheme
  • Update PWA manifest in public/manifest.webmanifest for app branding
  • Replace icons in public/icons/ directory with your organization's branding
  • Adjust animation speeds and transitions in Framer Motion components

B) Location Data Enhancement

  • Extend the Overpass API queries in FindLocations.tsx for more location types
  • Add custom location categories specific to your region
  • Integrate additional public food assistance databases
  • Create region-specific food bank directories

C) UI/UX Customization

  • Modify navigation structure in BottomNav.tsx for your specific use case
  • Add new page components in the pages/ directory
  • Extend the impact tracking metrics to include local measurements
  • Customize the map markers and popups for your organization

πŸ› οΈ Future Enhancements

  • Real-time Food Availability – Dynamic updates of available food resources
  • Donation Scheduling – Calendar-based donation planning and coordination
  • Volunteer Management – Volunteer opportunity listings and sign-ups
  • Food Safety Resources – Guidelines and training materials
  • Multilingual Interface – Support for multiple languages
  • Accessibility Features – Enhanced support for users with disabilities
  • Community Forums – Discussion boards for food assistance topics
  • Educational Resources – Learning materials about food waste reduction
  • Mobile Notifications – Push notifications for nearby food resources
  • Social Sharing – Easy sharing of resources on social media

🀝 Contributing

We welcome contributions to help fight food waste and feed communities!

A) How To Contribute

  1. Fork the repository

  1. Create a feature branch
git checkout -b feature/improved-food-location-finder

  1. Commit your changes
git commit -m "🍽️ Add: Enhanced location filtering capabilities"

  1. Push to the branch
git push origin feature/improved-food-location-finder

  1. Open a Pull Request

B) Areas For Contribution

  • πŸ—ΊοΈ Location data accuracy and coverage expansion
  • πŸ“± Mobile user experience improvements
  • 🎨 UI/UX design enhancements
  • 🌍 Accessibility and inclusivity features
  • πŸ“Š Analytics and data visualization
  • πŸ”§ Performance optimization
  • πŸ“š Documentation and user guides
  • πŸ§ͺ Testing and quality assurance

πŸ“„ License

This Project is licensed under the MIT License. Feel free to explore and build upon it.
Β© 2025 Pranav Khalate

Permission Is Hereby Granted, Free Of Charge, To Any Person Obtaining A Copy...

πŸ™Œ Credits

  • OpenStreetMap Contributors – Providing the mapping tiles and location data
  • Overpass API – Enabling real-time queries for food assistance locations
  • React Leaflet Team – Interactive mapping components for React
  • Tailwind CSS – Utility-first CSS framework for rapid UI development
  • Lucide Icons – Beautiful, consistent icon library
  • Framer Motion – Production-ready animations for React
  • Local Food Banks & Community Organizations – Inspiration for real-world impact

πŸ“’ Author

Built With ❀️ For A Hunger-Free World

Website Β  GitHub Β  LinkedIn Β  Email Β  Discord


🌟 Support The Mission

If SurplusServe helps you connect with food resources or understand food waste issues, please consider giving it a ⭐️ on GitHub. Your support helps raise awareness about food insecurity and inspires more developers to create solutions for social good.

At SurplusServe, We Believe That Technology Should Serve Humanity. Every Line Of Code, Every Interface Design, Every Location Pin On Our Map Represents A Potential Connection Between Surplus Food And Someone In Need.

Join Us In Building A World Where No Food Is Wasted And No Person Goes Hungry.


🌱 "The Greatest Threat To Our Planet Is The Belief That Someone Else Will Save It."

    – Robert Swan

Technical Note: This application currently operates as a frontend demonstration with mock data and real-time location services. The interactive maps, geolocation features, and impact tracking provide a complete user experience that showcases how technology can connect food resources with community needs.

About

Redistributing Surplus Food To Communities In Need Using Smart Maps, Instant Matching & Sustainability Tracking

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published