A Food Expiry Date Reminder
Built with Flutter, Provider, and Firebase
- Homepage food list grouped by spaces
- Homepage containing all the registered food items
- Total food items added per space
- Total food about to expire per space
- Restock alert when food quantity getting low
- Shared preference data storage
- Storing user objects in shared preference
- Authenticated user and preference settings retrieval upon application launch
- JSON encoding and decoding
- Adding new Food Item, details include:
- Food name
- Food description in milligrams
- Food image (Optional)
- Food category
- Food storage type e.g Fridge, Freezer, Store, Pantry etc.
- Purchased date using Time Picker
- Expired date using Time Picker
- Reminder interval selection
- Notification reminding
- Usage of Local Notifications to display Food expiry and stock level alert
- Randomly-generated IDs for each notification
- Daily reminders with set intervals, based on user preference
- Registeration error checking
- Name duplication check
- Empty/not specified fields check
- Individual food detail page
- In-depth details about each Food item upon tapping
- Delete a Food item:
- Erase the specified food object from sqlite
- Erase corresponding scheduled notifications