- Create a resource for people to get updated and accurate information about COVID-19
- Make it easy for users to find information about COVID-19 in any part of the world
- Update users about the changes in COVID-19 cases in their local area
- Daily Alert
- Click daily update button to launch an alert with updated stats in your county or country based on your current location
- The alert displays curent location, population, current cases and deaths, daily change in cases and deaths, as well as weekly change in cases and deaths
- Daily Notification
- Reminds you to track the coronavirus daily. Local notification. (Currently set to 5PM, can change in AppDelegate)
- Global Map
- Tracks & Zooms to Current Location
- Pins for US counties + Provinces/Regions in Canada, China, and Australia + Rest of Countries Worldwide
- Search Bar: locate over 5000 pins and zoom in to specific pins
-
This project uses the UIKit, MapKit, CoreLocation, and UserNotification frameworks.
-
MapKit framework - for COVID-19 heat map | Core Location - for updated location and daily update | Local Notification - for daily reminder notification
-
This project uses a Flask server.
-
We update the data daily (after 8PM EST) and host it in JSON format here: JSON
- We use the 2019 Novel Coronavirus COVID-19 (2019-nCoV) Data Repository by Johns Hopkins CSSE.
- We combine all of the time series data, which be found in 5 separate CSV files here, and clean the data so that the map pins work more smoothly.
- See online/updates.py for the data collection and data cleaning code, which is a python script that uses Pandas DF.
- Portrait Mode only
- Constaints allow for build with iPhone 11, iPhone 8, and iPad models
- Handles cases with No Internet and Location Services Diasbled smoothly
- Works with most simulated locations (anywhere in USA, London, Sydney, Moscow, ...)
- GPX files included for some locations as well, including VeniceItaly.gpx
- Note that the app simulator is buggy, so it may not recognize the default location (which is set to San Fran on iPhone 11 Pro Max) during the first attempt to build. If this happens, just try again please. It is better to simulate on a phone if possible.
Jake Derry, Ava LeWinter, Jahaan Mukhi, Joseph Nagy, David Rothblatt, Sam Snedeker
David
- Data Collection & Cleaning
- Daily Alert Feature
- App Integration & Task Delegation
Jake
- Server
- Location Services
Joe
- MapViewController
- Map Search Bar
Jahaan
- MapViewController
- Map Pins and Gradient
Sam
- Location Services
- Reminder Notification
- UI/UX (homepage & constraints)
Ava
- Reminder Notification / Daily Alert
- UI/UX (homepage & constraints)