{"id":22549636,"url":"https://github.com/swadeshit27/save-before-spoil","last_synced_at":"2026-01-31T16:33:06.298Z","repository":{"id":246556521,"uuid":"821442511","full_name":"Swadeshit27/Save-Before-Spoil","owner":"Swadeshit27","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-30T17:06:31.000Z","size":1937,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T10:50:13.565Z","etag":null,"topics":["expressjs","firebase","flowbite-react","nodejs","nodemailer","reactjs","shadcn-ui","tailwindcss"],"latest_commit_sha":null,"homepage":"https://save-before-spoil.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Swadeshit27.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-28T14:47:46.000Z","updated_at":"2024-06-30T17:06:34.000Z","dependencies_parsed_at":"2024-06-28T17:53:26.230Z","dependency_job_id":null,"html_url":"https://github.com/Swadeshit27/Save-Before-Spoil","commit_stats":null,"previous_names":["swadeshit27/save-before-spoil"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Swadeshit27/Save-Before-Spoil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swadeshit27%2FSave-Before-Spoil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swadeshit27%2FSave-Before-Spoil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swadeshit27%2FSave-Before-Spoil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swadeshit27%2FSave-Before-Spoil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Swadeshit27","download_url":"https://codeload.github.com/Swadeshit27/Save-Before-Spoil/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swadeshit27%2FSave-Before-Spoil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28947649,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","firebase","flowbite-react","nodejs","nodemailer","reactjs","shadcn-ui","tailwindcss"],"created_at":"2024-12-07T16:09:24.075Z","updated_at":"2026-01-31T16:33:06.281Z","avatar_url":"https://github.com/Swadeshit27.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Project Readme\n![SAVE BEFORE SPOIL](https://github.com/Swadeshit27/Save-Before-Spoil/assets/108950724/8ca6264a-1618-4a45-a1c5-23afa9cd2463)\n\n# Save Before Spoil -- Submitted at Hack4Bengal 3.0 by Team S2K2 💖\n## Food Ingredients Waste Management\n\n\n## Overview\nThis platform is designed to reduce food waste by connecting shopkeepers/retailers with food banks. The platform offers features such as product management, recipe suggestions, and notifications for expiring products. Users can sign up as either Shopkeepers/Retailers or Food Banks, each accessing different functionalities.\n\n## Features\n\n### Shopkeepers/Retailers\n- **Product Management**: Save and manage product details including price, name, and expiry date.\n- **Notifications**: Receive email notifications for expiring products via Node Mailer.\n- **Recipe Suggestions**: Get recipe recommendations for soon-to-expire products using Gemini AI.\n- **Donation Guidance**: Receive suggestions for nearby food banks to donate expiring products.\n- **Waste Management**: Get advice on reusing or disposing of expired food items.\n\n### Food Banks\n- **Retailer Listings**: View a list of retailers with available products.\n- **Suggested Foods**: See suggested food items and expiring products.\n- **Discounted Purchases**: Purchase soon-to-expire products at reduced prices.\n- **Waste Management**: Receive suggestions for managing expired ingredients using AI.\n\n## Technologies Used\n- **Frontend**: React.js\n- **Backend**: Node.js\n- **Database**: Firebase\n- **Authentication**: Firebase Authentication\n- **AI Integration**: Gemini AI for recipe recommendations\n- **Email Notifications**: Node Mailer\n- **Location Services**: Google Location APIs for calculating shortest distances to food banks\n\n\n\n\n### Shopkeepers/Retailers\n1. **Sign Up**: Register as a Shopkeeper/Retailer.\n2. **Dashboard**: Access the dashboard to manage your products.\n3. **Add Products**: Add product details including price, name, and expiry date.\n4. **Notifications**: Receive email notifications for expiring products.\n5. **Recipe Suggestions**: View recipe suggestions for soon-to-expire products.\n6. **Donate**: Find nearby food banks for donations.\n\n### Food Banks\n1. **Sign Up**: Register as a Food Bank.\n2. **Dashboard**: Access the dashboard to view available retailers and products.\n3. **Suggested Foods**: See suggested foods and expiring products.\n4. **Purchase**: Buy soon-to-expire products at discounted prices.\n\n## Contribution\nWe welcome contributions to improve the platform. Please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch: `git checkout -b feature-branch-name`.\n3. Make your changes and commit them: `git commit -m 'Add some feature'`.\n4. Push to the branch: `git push origin feature-branch-name`.\n5. Submit a pull request.\n\n6. # React Vite Project\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![React](https://img.shields.io/badge/react-v17.0.2-blue.svg)\n![Vite](https://img.shields.io/badge/vite-v2.4.4-orange.svg)\n\n## Table of Contents\n\n- [About](#about)\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Project Structure](#project-structure)\n- [Scripts](#scripts)\n- [Technologies Used](#technologies-used)\n- [Contributing](#contributing)\n- [License](#license)\n\n## About\n\nThis project is a web application developed using React and Vite. It is designed to provide an optimized and fast development experience with a modern build tool.\n\n## Features\n\n- Fast development with Vite\n- Hot Module Replacement (HMR)\n- React components\n- State management\n- Routing\n- Environment configuration\n\n\n\n\n### Prerequisites\n\n- Node.js (\u003e= 12.x)\n- npm (\u003e= 6.x) or Yarn (\u003e= 1.x)\n\n## Installation and Setup\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/yourusername/react-vite-project.git\n    cd react-vite-project\n    ```\n\n2. Install dependencies:\n    ```bash\n    npm install\n    # or\n    yarn install\n    ```\n\n## Usage\n\n### Development\n\nTo start the development server with hot module replacement:\n```bash\nnpm run dev\n# or\nyarn dev\n\n\n\n## License\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n\n## Contact\nFor any questions or feedback, please contact us at support@example.com.\n\n---\n\nBy following this readme, users can easily set up, use, and contribute to the Food Donation and Waste Management Platform.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswadeshit27%2Fsave-before-spoil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswadeshit27%2Fsave-before-spoil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswadeshit27%2Fsave-before-spoil/lists"}