- insert, update, and delete one event
- track completed events and incompleted events \ We let user to mark complete for events instead of automatically set events completed if they passed the scheduled time. Because we considered some events may not be completed even if they have passed time.
- Dao for event database
- Places and Google Map API for MapsActivity
- Google Calendar and CalendarView
- Notification and AlarmManager for scheduled Notification
- Geofence for location-triggered notification
- Android Test, Expresso, Junit for tests