COVID-19 threatens to overwhelm public health infrastructure around the world and present a systemic challenge to international order. The magnitude of this threat arises because COVID-19 is considerably more contagious than seasonal flu. When demand for medical resources, such as ventilators and personal protective equipment (PPE), outstrips local supply, COVID-19's mortality rate can increase rapidly.
Collecting and pooling individual donations can help to offset medical equipment shortages and preserve human life. This project seeks to increase the efficacy of fundraising projects and encourage more individuals to participate. It does so by facilitating visibility across three areas:
- Identify hospitals most at risk of running out of PPE and other essential equipment, and therefore in greatest need of donations.
- Make information about specific shortages accessible to individuals, in order to encourage donations by connecting them to particular hospitals, and reducing inefficiencies caused by centralized logistics.
- Increase transparency of logistics, storage, and usage of resources to help build trust and assure donors of the positive impact of donations.
What it does
This website contains three different page types:
- Visitor pages: These include (i) organization profile pages; (ii) the home page showing the vision of the project; (iii) listing pages to show all organizations in need of donations and correspondent campaigns; (iv) functional pages such as sign-up, and login pages.
- Manager pages for organizations, which enable relevant users to manage the information provided about their organization, track the progress of their campaigns, and provide updates.
- Donor pages to manage and track donations.
The typical user workflow for our donation system is:
- Register a user account.
- Create and update an organizational profile, including 'About' and 'News' sections. [ORGANIZATION]
- Create a campaign that identifies organizational needs. [ORGANIZATION]
- Find a fundraiser the user would like to donate to; click the donation button. [DONOR]
- Complete donation; track donation status until received at point-of-need. [DONOR]
- Confirm donation is received; update donation status. [ORGANIZATION]
- Update record when donation items, the inventory will be updated. [ORGANIZATION]
Our system increases end-to-end transparency for donation and utilization processes, thereby promoting donor trust and increasing willingness to donate.
How I built it
The back-end was developed using PHP with an Yii2 Framework.
The front-end is based on a bootstrap framework, with many additional plugins and extensions, such as FancyBox, Noty, i18next, and Foundation-datepicker.js. We compiled and packed static resources using webpack.
Our team consists of four members. Two focus on system development and two focus on product design, feedback collection, feature testing, and online promotion.
The development process encompassed review of requirements, UI design, front- and back-end programming, integration, and testing.
Challenges I ran into
The main challenge has been time. I became aware of this hackathon on the morning of Friday 27 March. I had the remainder of Friday, plus one weekend (28 and 29 March), to plan the project and develop the web system from scratch.
Since our four-person team has already collaborated on a complex and successful web project over a span of several years, we are all comfortable working together; we have a shared vision and each of us is thrilled to participate.
Following a discussion on the evening of Friday 27 March, our designer began work, finalizing a draft on the morning of Saturday 28 March. The major work was comprised of system development; as the project's developer, I worked through the night on Friday to develop the database/model layer.
Accomplishments that I am proud of
I am proud to collaborate with three supportive team-members. After I became aware of this hackathon project, I came up with the idea, contacted my team, and received their commitments almost instantaneously.
I am also proud to have put several years of development experience to good use in order to complete this project in such a limited timeframe.
What I learned
I learned that contrasting perspectives and ideas are to be encouraged; after collecting and analyzing these ideas together, it is often possible to synthesize a new design that is more than the sum of its original parts.
Initially, my view of this project was more engineering-oriented, which made the system easier to develop. Perspectives among my team, however, have helped me assign higher priority to user-friendliness and intuitive design. Through our collaborative process, we have created an improved system to manage donations, campaigns, and donor follow-up.
What's next for OpenHospital?
We will add social media sharing features to promote the platform among organizations in need of donations and potential donors. Sharing enables spreading through social media. We will also incorporate endorsement features to allow fundraising campaigns to build trust.
We have registered the domain open-hospital.com. We will migrate our system to that domain.
The majority of this project has attained appropriate production standards. Our goal is to achieve recognition for OpenHospital through this hackathon platform. We aim to use the system to make a rapid and tangible impact on medical resource shortages and to direct individual donations to points of greatest need.
The code developed for this project will be made open-source and published on GitHub.
Try It out
bootstrap, nginx, php, yii2