| Name | Role |
|---|---|
| Osteen Mutinda | Scrum Master and Backend Developer |
| Glen Kimani | Frontend Developer |
| Jennifer Sammy | Frontend Developer |
| Joanna Oluoch | Full Stack Developer |
| Angeline Simiyu | Backend Developer |
| Antony Ehachi | Frontend Developer |
- Project Description
- Setup Instructions
- BDD
- Bugs
- Technologies Used
- License Information
- Contact Details
This project is a Full Stack React-Rails application that aims to solve the problem of school-going girls in subsaharan countries being unable to access pads and other supplies needed for their periods, by creating a platform to raise funds and encouraging repeat donations. The platform is named Give Hope and it allows donors and charities to connect to raise funds to provide sanitary towels, clean water and sanitation facilities, to ensure they are able to meet the guidelines for proper menstrual hygiene as defined by UNICEF.
The wireframe for the frontend is as shown below:
The Entity Relationship Diagram is as shown below:

The relationship between the models is such that:
- A Donor has many Charities, through Donations.
- A Charity has many Donors, through Donations.
- A Donation belongs to a Donor, and belongs to a Donor.
- A Charity has many beneficiaries.
- A Beneficiary belongs to a Charity.
- An Administrator has many Charities.
- A Charity belongs to an Administrator.
- Download the zip file under the 'Code' tab.
- Extract files from the zip file.
- Open the extracted folder with VS Code.
Navigate into the Backend folder first.
- In your VS Code terminal to install the required gems, run:
bundle install- In your VS Code terminal to migrate the database, run:
rails db:migrate- Still in the VS Code terminal, to seed data into the database, run the command below. This will populate the database with 1 Administrator instance, 3 Donor instances, 8 Charity instances, 6 Beneficiary instances, and 9 Donation instances. The number of instances can be changed in the seeds.rb file if needed.
rails db:seed- Still in the VS Code terminal, to start the database, run the command below:
rails s
//You can close the server by pressing [Ctrl+C]- And then, you are good to go move on to the frontend setup. To test the backend alone, use a client like Postman or Chrome Browser, to test the application. You can use this Postman collection to test out the routes.
Navigate into the client folder first.
- In your VS Code terminal to install the required packages, run:
npm install- In your VS Code terminal with the Rails server already running, to start the React app, run:
npm startAs a user, I will be able to carry out the following depending on the type of user I am:
- See a variety of charities I can donate to.
- Create an account on the platform.
- Choose a charity and view it's details.
- See a variety of charities I can donate to.
- Create an account on the platform.
- Choose a charity and view it's details.
- Donate to a charity.
- Set up automated repeat donation or one-time donation.
- Choose whether to be an anonymous donor or not.
- Have reminders at the same time each month to donate.
- See stories about beneficiaries of my donations.
- Donate via paypal/stripe or any other third party service.
- Apply to be a charity on the platform.
- Once the request has been approved by the administrator, I can set up charity details.
- View non-anonymous donors and their donations.
- View the amounts donated by anonymous donors.
- View the total amount donated to the charity.
- Create and post stories of beneficiaries.
- Maintain a list of beneficiaries as well as inventory sent to the beneficiaries.
- Receive and review applications from charities.
- Approve or reject applications.
- Delete charities.
There are no bugs in this project. If you encounter any new issues, please create an issue in the repository.
- Ruby -
ruby 3.0.5 - Rails
- JWT Authentication
- Active Record
- SendGrid
- Cloudinary
- React JS
- Tailwind CSS
- Bootstrap CSS
None.
For any queries feel free to reach out at the contacts below:
- Email: givehopecharities@gmail.com
