Hack Crisis hackathon project
Over the weekend, together with Jacek Bazydło and Karolina Sala, I took part in an (online) international Hack the Crisis hackathon to fight coronavirus. The hackathon was hosted by DO OK with partnership from Govtech Poland, AWS, Google, Guaana and ProIdea. Our application Crisis Help tackles the problem of isolation - government is asking people to stay home, but the resources we keep in our households aren’t limitless. The application allows you to share information that you are missing specific kind of mandatory products in your household and share this information with government specified institutions (for MVP purposes, this is an open list, so that anyone can help).
Full code of our project is hosted here. The code is Open Source under the MIT license, so if you have any idea how to improve it and help more people, just do it.
Hackathon category: Isolation
Meet the team
- Lukasz Zmudzinski - Team Leader, AWS Backend, iOS app
- Jacek Bazydlo - AWS Backend
- Karolina Sala - UX Design
Project video presentation
(Voice modulation in the trailer made me sound like Kylo Ren…)
Help Request model
This is the core model of our application. It describes a user help request that can be seen by others to provide supplies.
|Yes||The unique mobile device identifier|
|Yes||What is the user status of water supplies|
|Yes||What is the user status of food supplies|
|Yes||What is the user status of meds supplies|
|Yes||Is the user diagnosed with Coronavirus|
|Yes||User latitude geolocation|
|Yes||User longitude geolocation|
|No||Additional description, if the user has something to add|
We decided to use cloud services to increase the scalability of our application. Backend services are contacted through HTTP requests from the mobile application. The requests lands in the API Gateaway and is directed to the requested Lambda function (
Python3.7). The function processes the request and makes changes in the NoSQL DynamoDB table containing all HelpRequests.
Lambda endpoint details
|POST||Creates a new HelpRequest||Link|
|POST||Removes user HelpRequest||Link|
|GET||Gets user help request||Link|
|GET||Gets help requests at ||Link|
AWS endpoint urls
- Built using Swift programming language,
- Views are built using SwiftUI,
- No unit/interface testing was performed due to limited hackathon time,
- Code can be previewed in the iOS directory.
Dependencies are managed by the Swift Package Manager (SPM).
|Alamofire||Handling external API requests||Link|
|SwiftyJSON||Processing JSON file format||Link|
|ObjectMapper||Mapping JSON to HelpRequest objects||Link|
The application implements the MVVM architecture pattern.
|Holds classes responsible for storing the data model information|
|Contains SwiftUI view building blocks|
|Contains classes responsible for View-Model communication|
|Contains device and backend communication classes|
|Contains class extensions making life easier|
Although we didn’t get into the TOP30, I found this hackathon bringing valuable experience. Good that such events take place, as they bring opportunity for various individuals to connect together and tackle real life problems. And who knows, maybe some of the projects will actually help someone during these hard times.
Thanks everyone and carry on!