Petari
Food donate Web App
Install / Use
/learn @Sahil1786/PetariREADME
<p align="center"> Petari - The Food Donation Management System</p>
**Please follow me and give a star to my repository
<div id="top"></div>
🏆 Featured in:
<table> <tr> <th>Event Name</th> <th>Event Description</th> </tr> <tr> <td>GirlScript Summer of Code 2024</td> <td>GirlScript Summer of Code is a three-month-long Open Source Program conducted every summer by GirlScript Foundation. It is an initiative to bring more beginners to Open-Source Software Development. </tr> </table> <h2>Table of Contents</h2>- Introduction
- Tech Stack <br>
- Features
- Contribution Guidelines
- Code of Conduct
- Getting Started
- Code Style Guidelines
- Code Review Process
- Community Guidelines
- Output Screenshot
- License <br>
Introduction
<a name="introduction"></a> PETARI, The Food Donate WebApp, is an initiative by an organization aiming to redistribute excess food from various events to those in need. The project aligns with India's Sustainable Development Goals to achieve a hunger-free world and zero food waste. By leveraging technology, PETARI seeks to bridge the gap between surplus food and hunger, thereby benefiting society and the environment.
Tech Stack
<a v="tech-stack"></a>
Frontend
<a F="frontend"></a>
<p> <a href="https://www.w3schools.com/html/"> <img src="https://img.icons8.com/color/70/000000/html-5--v1.png" alt="HTML" /></a> <a href="https://www.w3schools.com/css/"> <img src="https://img.icons8.com/color/70/000000/css3.png" alt="CSS" /></a> <a href="https://www.w3schools.com/js/"><img src="https://img.icons8.com/color/70/000000/javascript--v1.png" alt="JS" /></a> <a href="https://getbootstrap.com/docs/5.0/getting-started/introduction/"> <img src="https://img.icons8.com/color/70/000000/bootstrap.png" alt="Bootstrap" /></a> </p>Backend
<a m="backend"></a> <a href="https://www.w3schools.com/nodejs/"><img src="https://e7.pngegg.com/pngimages/247/558/png-clipart-node-js-javascript-express-js-npm-react-github-angle-text.png" alt="Node.js" width="50" height="50" /></a> <a href="https://www.javatpoint.com/expressjs-tutorial"><img src="https://cdn.icon-icons.com/icons2/2699/PNG/512/expressjs_logo_icon_169185.png" alt="expressjs" width="50" height="50" /></a> <a href="https://www.mongodb.com/docs/"><img src="https://w7.pngwing.com/pngs/956/695/png-transparent-mongodb-original-wordmark-logo-icon-thumbnail.png" alt="MongoDB" width="50" height="50" /></a> <a href="https://www.npmjs.com/package/ejs"><img src="https://icons.veryicon.com/png/o/business/vscode-program-item-icon/ejs.png" alt="EJS" width="50" height="50" /></a> <a href="https://oauth.net/2/"><img src="https://miro.medium.com/v2/resize:fit:828/format:webp/1*e2x6biTeTNWeMc-C4aPogw.jpeg" alt="Auth2.0" width="70" height="60" /></a>
<p align="right">(<a href="#top">back to top</a>)</p>Features
<a c="features"></a>
- <h4>Redistribution of Excess Food:</h4> Petari focuses on collecting excess food from weddings, parties, and events to redistribute it to individuals who are hungry, thereby reducing food waste and ensuring that surplus food benefits those in need.
- <h4>Societal Impact:</h4> The organization aims to bring benefits across society by providing access to food for individuals who may not have adequate means to access it, addressing food insecurity and hunger issues.
- <h4>Alignment with Sustainable Development Goals: </h4>Petari's mission aligns with India's Sustainable Development Goals, particularly focusing on making the world hunger-free and reducing food waste to contribute to a sustainable and equitable society.
- <h4>Environmental Consciousness: </h4> By redistributing excess food and reducing food waste, Petari helps alleviate the pressure on finite natural resources and minimizes the environmental impact associated with food wastage.
- <h4>Economic Impact:</h4> Through its activities, Petari not only addresses social issues related to hunger but also contributes to economic sustainability by efficiently utilizing excess resources and reducing wastage.
- <h4>Collaboration with Events:</h4> Petari likely collaborates with various events, such as weddings and parties, to collect surplus food, emphasizing the importance of partnerships and community involvement in achieving its goals.
Contribution Guidelines
<a g="contribution-guidelines"></a> Thank you for considering contributing to PETARI! We appreciate your efforts to make a positive impact on society through food redistribution and combating hunger. By contributing to PETARI, you are helping us move closer to our goal of creating a hunger-free world and reducing food waste. Please go through Contributing Guidelines.
How Can You Contribute?
<a h="how-can-you-contribute"></a> There are several ways you can contribute to PETARI:
-
Code Contributions: Help improve the PETARI codebase by fixing bugs, adding new features, or enhancing existing functionalities.
-
Documentation: Improve the project's documentation to make it more comprehensive and user-friendly.
-
Testing: Test the application and report any bugs or issues you encounter. You can also contribute by writing and running test cases.
-
Design: If you have design skills, you can contribute by creating or improving the user interface and experience of PETARI.
-
Feedback: Provide feedback on the existing features, suggest new ideas, or share your thoughts on how PETARI can be further improved.
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
<p align="right">(<a href="#top">back to top</a>)</p>Getting Started
<a h="getting-started"></a> If you're new to contributing to open-source projects, don't worry! Here's how you can get started:
-
Fork the Repository: Fork the PETARI repository to your GitHub account.
-
Clone the Repository: Clone the forked repository to your local machine using Git.
git clone https://github.com/your-username/Petari.git -
Open project: Open the project directory.
cd Petari -
Create a new branch: To create a new branch for your profile, run the following command:
git checkout -b add-profile -
Setting up Project: Once you are in the Project directory, run this command to install all necessary npm modules
npm install -
Setting up dotenv file: In the Project directory, create a file named ".env". Now add the following data to it
PORT=3000 ACCESS_TOKEN_SECRET = youraccesstokensecret MAIL_ID = yourmailid PASS_ID = your gamil app password -
Database: If MongoDB is not installed on your local machine, install it. Once you run the project, databases and collections will be automatically created. For installation, you can follow the installation manual given on the MongoDB website for your respective operating system:
Once installation is done, open your terminal:
-
If you have installed MongoDB as a service, run this command to open the MongoDB Shell:
mongosh -
Otherwise, you can run MongoDB Community Edition from the Windows command prompt instead of as a service. Open the command prompt, navigate to the MongoDB directory (e.g.,
C:\Program Files\MongoDB\Server\<version>\bin), and run this command:mongodThis will start the MongoDB service. Don't close this terminal window while you are working on the project. Now run this command to open the MongoDB Shell in a new command prompt window/tab:
mongosh
Once MongoDB is running as a service, proceed to the next step.
-
-
Running The Project On Local Machine: To run the project, navigate to the project directory. Now run the command:
nodemon app.jsIf the above command gives an error, run this command:
npx nodemon app.jsOnce the server starts listening, to render the webpage, go to:
http://localhost:${PORT_MENTIONED_IN_DOTENV} or http://localhost:3000 -
Checking Database: After running the project for the first time, databases and collections will be automatically created. To check if they are properly made, open the MongoDB Shell and run these commands:
show dbsYou will find a database named
PetariDB. Now, run this command in the MongoDB Shell to use that database:use PetariDBTo check collections inside the PetariDB, run this command in the MongoDB Shell:
show collectionsYou will see 4 collections inside the PetariDB:
admins,ngos,queries,users. -
Make Changes: Make your desired changes to the codebase or documentation.
-
Test Your Changes: Test your changes locally to ensure everything works as expected.
-
**Ad
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
