pavas23 / DaanNetwork

DaanNetwork is a platform connecting donors with NGOs for donation requests and responses

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DaanNetwork

License: MIT Github Repo Size npm version last commit contributors

We have followed the Scrum framework throughout this project. All the scrum project reports are available in the scrum/ directory.

The complete project was divided into 3 sprints lasting 3 weeks each. Each sprint had six scrum meets, including sprint planning and sprint retrospective meets. Pivotal Tracker was used for project management and Mockaroo for dummy data generation.

Product Backlog

product-backlog

Use Case Diagram

View

product-backlog

Class Diagram

View

product-backlog

System Architecture

View

product-backlog

Project Management

View

product-backlog

This is a web based application connecting donors with NGOs for donation requests and responses.

Donor Management

  • Donors can register with their details on the portal.
  • Donors can make donation posts on their profiles.
  • Donors can choose to donate to donation drives conducted by NGOs and submit details about the items they can contribute.
  • Donors can see history of their involvement in the portal
  • Donors can view points and leadership boards based on their contributions.

NGO Management

  • NGOs can register with their details on the portal.
  • NGO upload registration number and registration certificate to the admin for verification.
  • NGOs view donation requests that are close to their locations and accepts to collect which they desire.
  • NGOs can host donation drive and give details about the requirements about the items they require with respective quantities and end date.
  • NGOs can raise volunteering requests on the portal with details about the same.

Admin Management

  • Admin verifies the NGO as per the registration certificate uploaded by them.
  • Admins can view users and block users that violate the guidelines.

Other Functionality

  • The donor and NGO receive mail on successful registration.
  • Whenever a donor donates food items for a donation drive, the NGO gets notified via email.
  • Donors can filter drives according to food items they want to donate.
  • NGOs can filter donation requests based on proximity to their location.

Preview

DonorPost

DonorPost

DonorPost

DonorPost

Run Frontend App

  1. clone this git repo
  2. cd into project directory
  3. cd client
  4. cd my-app
  5. install this project with npm
  6. install all dependencies with npm install
  7. create a .env file in my-app directory
  8. Add the following lines in .env file
REACT_APP_APIURL=
REACT_APP_FIREBASE_API_KEY=
REACT_APP_FIREBASE_AUTH_DOMAIN=
REACT_APP_FIREBASE_PROJECTID=
REACT_APP_FIREBASE_STORAGE_BUCKET=
  1. Set REACT_APP_APIURL to http://localhost:PORT for dev env and set this to URL where the backend is hosted for connecting to server
  2. now to start the react app use npm start

Run Backend Server

  1. clone this git repo
  2. cd into project directory
  3. cd server
  4. install all dependencies with npm install
  5. cd src
  6. create a .env file in current directory
  7. Add the following lines in .env file
NODE_ENV=
PORT=
MONGO_URI_DEV=
MONGO_URI_PROD=
EMAIL=
PASSWORD=
TOKEN_KEY=
  1. Set NODE_ENV as "dev" for development env and "production" for prod. env
  2. Assign any available PORT number for development env
  3. Assign MONGO_URI for dev and production env respectively
  4. Set EMAIL and PASSWORD for the website account, which will be used to send confirmation mails
  5. Set TOKEN_KEY as random hash
  6. start express server with npx nodemon index.js

Contributing

We love contributions. That out of the way, an average contribution would involve the following:

  1. Fork this repository in your account.
  2. Clone it on your local machine.
  3. Add a new remote using git remote add upstream https://github.com/pavas23/DaanNetwork.
  4. Create a new feature branch with git checkout -b my-feature.
  5. Make your changes.
  6. Commit your changes.
  7. Rebase your commits with upstream/master:
  • git checkout master
  • git fetch upstream master
  • git reset --hard FETCH_HEAD
  • git checkout my-feature
  • git rebase master
  1. Resolve any merge conflicts, and then push the branch with git push origin my-feature.
  2. Create a Pull Request detailing the changes you made and wait for review/merge.

It might seem a little complicated at a glance, but the fundamental concept is simple: we want to ensure that your changes are always made on top of the latest changes to the project and thus, we can easily merge your code.

Commit Message Guidelines

The commit message:

  • is written in the imperative (e.g., "Fix ...", "Add ...")
  • is kept short, while concisely explaining what the commit does.
  • is clear about what part of the code is affected -- often by prefixing with the name of the subsystem and a colon, like "server: ..." or "docs: ...".
  • is a complete sentence, ending with a period.

Team Members

About

DaanNetwork is a platform connecting donors with NGOs for donation requests and responses

License:MIT License


Languages

Language:JavaScript 92.6%Language:CSS 7.3%Language:Handlebars 0.1%Language:HTML 0.0%Language:EJS 0.0%