Petari - The Food Donation Management System
**Please follow me and give a star to my repository
Event Name | Event Description |
---|---|
GirlScript Summer of Code 2024 | 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. |
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.
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.
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.
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.
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.
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:
mongod
This 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.js
If the above command gives an error, run this command:
npx nodemon app.js
Once 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 dbs
You will find a database named PetariDB
. Now, run this command in the MongoDB Shell to use that database:
use PetariDB
To check collections inside the PetariDB, run this command in the MongoDB Shell:
show collections
You 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.
Add your changed files: Add changed files to the stage by running the following command:
git add .
Commit Your Changes: Commit your changes with descriptive commit messages.
git commit -m "message"
Push Changes: Push your changes to your forked repository.
git push
Create a Pull Request: Open a pull request from your forked repository to the main PETARI repository. Provide a clear description of your changes in the pull request. Follow these steps
To maintain consistency and readability, please follow these code style guidelines:
All contributions to PETARI will go through a code review process to ensure code quality, consistency, and adherence to project standards. Your contributions are valuable, and we appreciate your patience during the review process.
PETARI is committed to fostering an inclusive and welcoming community. We encourage respectful and constructive communication among contributors. Please refer to our [Code of Conduct]-(https://github.com/Sahil1786/Petari/blob/dffa12d5f33b3227ec287af602762ef1f7bc3f89/Code_of_conduct.md) for more information.
The index page serves as the main landing page for PETARI. It showcases the mission and purpose of the organization, along with relevant information about its activities.
This page allows users to get in touch with PETARI for inquiries, collaborations, or any other relevant communication. It provides contact information and possibly a contact form for convenience.
Users can log in to their accounts on PETARI's platform. This feature enables users to access personalized services, such as tracking their donations, managing their profiles, and more.
Admins have special privileges and access to manage the platform. The admin login page provides authentication for authorized personnel to perform administrative tasks, such as managing user accounts, overseeing donations, and maintaining the system.
This project is under LICENSE