A donation management system for NGOs and Donors. The project is designed for Cognizance IITR 2021 - Salesforce Codathon. This app was built by the team Dangling Pointers.
For this project we have used React with the proposal of using cloud databases such as Atlas(Mongodb). We have used additional packages ass well such as Chart.js for visualisation purposes and Regression.js for data analysis and regressive plotting of data. An initial attempt was made by us to make the machine learning model using the Tensorflow JS framework but the accuracy of the model was even below a baseline model. So we had to eventually give up on that line of work and use the packages mentioned.
Donation management:
NGO’s are no less than life-saving guardians working silently for the needy, the vulnerable and ones who are suffering.
NGOs also work for emergency relief, rural development and women’s empowerment etc enabling all voices to be heard, strengthening their lives and giving them a reason to live for.
They are mostly running on the donations made to them by the people and the Government aids. Many NGOs receive funding from local, state, and federal government entities through grants.
In the age of technology it has been found that still several of the NGOs are using the Excel Sheets to maintain their records and other transactions.
There are several downsides of this as there is lack of security of data and data management also becomes difficult.
Not only did the COVID-19 pandemic trigger the worst public health crisis, it also brought about an economic crisis of massive proportions. The pandemic brought challenges for the NGOs on two fronts:
- To provide as much help as possible to the needy.
- They were receiving a lot of funds but did not have the infrastructure to manage it.
Thus, the biggest problems which the NGOs are facing at the present time is the collection and the management of funding which they are receiving
We have thought of designing a portal for both NGOs and Donors where the Security of data, Management of data and Analysis of that data would be taken into account.
There will be 2 types of Users - Target Audience :
1. NGOs - NGOs will first register with us and then they are good to go.
2. Donors - Donors can visit our portal without logging in as a guest user.
Key features designed for NGOs :
1. Complete Transparency of the data will be there as all the transactions would be readily available to be viewed for the organization only.
2. Statistical Analysis of their data. A complete data analysis in the form of regression techniques, graph plotting would be performed on their transaction data to help them.
3. Highly Secure Environment in terms of management and user friendly UI Design would make the web application the first choice for the NGOs.
4. Can add its projects on the portal.
5. Statistical Analysis of the project wise data would also be shown.
6. The projects individual data would also be secured and donors can only see the projects agenda.
Key features designed for donors/guest users :
1. Donors will be able to view
1. All NGOs general information
2. Projects under different NGOs
2. Donors will be able to donate in the NGO of his/her interest.
1. Anonymously
2. Not anonymous
For the implementation of the solution discussed above we thought of designing a web app using React with addition libraries such as Chart.js, Regression.js etc to provide the NGOs a single self sufficient platform to manage their donations and also to receive donations for their noble causes. Security being a primary concern, we aim to use bcrypt.js for encryption of all sensitive informations.
-
React Bootstrap Chart.js Regression.js
- Clone the repository on your system.
- Move into the folder and Run the command in the terminal
npm install
npm start
- Visit "http://localhost:3000" on your browser
- Now you are all set to start!
For the machine learning part several models were tried including Linear Regression with Lasso and Ridge Optimizers and Polynomial Regressor.The best result came through Polynomial Regression.The data used here is randomly generated by us and is trying to replicate the actual data that we would receive when actual donors contribute to the app.
So the app workflow is as follows: First the NGOs needs to register and then using those credentials he needs to log in which would lead him to the main page. There they can list out various projects which they are curretly working on.
Now the donors will be able to see them in the list of organisations and projects to which they can contribute. After the user makes the donation then it is added to the transaction page and simultaneously that data would also be used for analysis purposes.(For Statistical Analysis and Regression Analysis).
|-- README.md
|-- node_modules
|-- package-lock.json
|-- package.json
|-- public
| | |-- background.jpg
| | |-- favicon.ico
| | |-- index.html
| | |-- logo192.png
| | |-- logo512.png
| | |-- manifest.json
| | `-- robots.txt
| |-- src
| | |-- index.js
| | |-- Components
| | | |-- About.js
| | | |-- AllNGOsDisplay.js
| | | |-- App.js
| | | |-- BarChart.js
| | | |-- Data.js
| | | |-- Doughnut.js
| | | |-- Form.js
| | | |-- LineChart.js
| | | |-- Navbar.js
| | | |-- NGOlogin.js
| | | |-- NGOprojects.js
| | | |-- NGOregister.js
| | | |-- Regression.js
| | | |-- Sidebar.js
| | | |-- Transaction.js
| | |-- data
| | | |-- index.js
| | |-- style
| | | |-- index.css