Expiration Management & Cooking Suggestion (EMCS) is a web-based prototype system, which helps you track food expiration date, create shopping list and give suggestions you on cooking. It was designed to aim at reducing household food waste. You can use web browser to access to the service through the following URL: https://marshal1.tech (deprecated)
Dependencies
Main Functions
Sign up & Login
Food Storage page
In left navigation bar, you can change the current showing place. There are four places that you can store your food: “Refrigerator”, “Freezing Chamber”, “Pantry” and “Other”. And on the top tabs, you can choose to view food in blocks or table.
Add food to storage
While you inputting your food name, the system will use ajax to find the most similar food category automatically. You can also click the category selection to choose the right one. If you type “– “after your food name, it will become “uncategorized”. Meanwhile, a food storage shelf life table will be showed on the right of screen, which give you advice on food storage.
Edit or Delete food in storage
Shopping List function
Plan Your Meal page
This page recommend recipes based on your food in storage. You can also view most matched ingredient to gain some cooking ideas.(data from Epicurious)
Account Setting
You can change your password, email and profile information. Also, you can customise notification preference. (Check more details in the ./design/UserGuide.docx) There are examples of two different notifications.
Admin Page
You can access to the admin page in ./admin.php to view system information
Responsive Design
This system uses responsive design, which is compatible on multiple devices
Design details
System Usage
ERD diagram
Navigation
Data Flow
Notification function design
Persona
Interface Wire-frames
About
This project is my coursework project in 2018. It also contains a questionnaire survey and user data analysis, relevent docs can be found in ./design folder. Some functions may not work on Localhost in Windows, because (1) the system is built to compatible with Linux online server from Hostinger.com (2) Atrigger function requires web server (3) Google Chrome Messaging service requires SSL cerificate (https://) (4) It requires several dependencies packages (5) You may failed to import DB sql backup file due to its size is bigger than your default setting (6) Fp-growth function is time-consuming, which may reach max execution time of your default setting