RedCrossQuest is a web application developed to ease the management of the French Red Cross yearly fundraising. This event, which lasts only 9 days each year around May/June, is critical for local Red Cross Units as it accounts for 25% to 50% of their annual budget. It is also challenging in terms of application development, monitoring, bug resolution, and implementing last-minute feature requests.
The web application allows to:
- Manage volunteers: whether they are Red Cross Volunteers or one-day volunteers.
- Manage collections: Determine where they should be collecting money (assisted by Business Intelligence analytics), when they start and finish collecting, and track the locations of the collections.
- QR Code scanning: Used to identify a bucket of money, a volunteer, or to register volunteers in RedQuest.
- Rewarding Volunteers: Track the amount of money collected per volunteer with statistics that enable us to thank them in various ways, ensuring everyone is appreciated in a positive manner.
- Deep understanding of performance: Monitor the amount collected versus the objectives, including the number of volunteers, hours of collecting, etc. This helps forecast outcomes using BI.
- Working with Banks: Facilitate money collection by banks. Money is placed in bags that must not be overweight (or a penalty will be applied) and details the number of coins and bills.
- Data analysis and quality: Numerous dynamic TIBCO Spotfire dashboards for analyzing the fundraising, with links back to the application to correct any mistakes.
- Gamification: RedQuest is a supplementary web application based on Firebase that uses various badges to encourage volunteers to collect more money, funding more actions in the year ahead.
Login and miscellaneous screens
Login page
Welcome page
Embedded Tutorial to setup the application for a new unit
Support page: what to transmit, where to open a ticket, new features
Main pages
QR Code scanning to automatically fill search field without typo
Once collecting is done, count the money: coins and bills
Credit Card and bank notes
Bank money bag assignment and free notes
Administration
Collecting location editor
Unit parameters editor
Volunteer list
Volunteer editor
QR Code printing (one of the 3 ones)
Manual input of data before the unit uses RedCrossQuest to provide statistics references
Objectives interface
Mailing interface that sends emails with TIBCO Spotfire displaying their accomplishments
GDPR Export of unit data
TIBCO Spotfire dashboards
KPI over the years
How the unit performs compared to its objective
How did the unit perform in the past compared to the current year
Data quality check: spot input errors (in amount or timing) with the ability to edit the particular row that has an issue directly in the web application
- Backend: Google App Engine (PHP) with Slim Framework
- Databases: Google Cloud SQL (MySQL), Firestore
- Frontend: Angular 1.7 (migration needed to the latest version of Angular).
- BI & Analytics: TIBCO Spotfire, considering a migration to Looker/Google Data Studio.
- Others: Google Pub/Sub, Cloud Functions, Stackdriver, Sendgrid, Slack, ReCaptcha.
- π₯ 9 500 volunteers (Red Cross & one-day volunteers).
- β³ 125 700 hours of collecting money.
- π° 3 750 000β¬ collected in donations.
- ππ½ 20,14 metric tons of coins & bills.
- ποΈ +65 local units using RedCrossQuest.
π Gamification: RedQuest
To motivate volunteers, RedQuest grants badges and levels based on their accomplishments:
- % of the local unit objective they've collected (β¬)
- Amount of money collected via Credit Card
- Amount of weight (kg) in bills and coins collected
- Number of days collected: Number of days the volunteer spent collecting donations.
- Number of locations collected: Number of collection points where the volunteer collected donations.
- Number of times they went out collecting: Number of times the volunteer went out for a collection session (they can have multiple sessions in a day, e.g., two 2-hour slots).
- Number of hours collected: Total time spent collecting donations.
Each volunteer can see their progress in the RedQuest app, how much they have collected each time, and their ranking (if the feature is enabled by their unit). Beyond gamification, it also allows volunteers to be thanked at the end of the collection.
The documentation is available in the French Red Cross information system and is not public.
We are looking for developers:
- Migrate the frontend to the latest version of Angular
- Add new features to both frontend and backend
- Enhance the gamification (like supporting teams, national ranking with rewards)
Wanted Skills:
- Angular 10+, Firebase, Cloud Functions.
- PHP, Python, Typescript.
- Google Data Studio or Looker.
This project is licensed under GPL v3. You can read the license here: LICENSE.
If you have any questions or suggestions, or if you want to contribute, please open a GitHub issue. π