/EMCS

[2018 Archived Project] Expiration Management & Cooking Suggestion System

Primary LanguageJavaScript

myp

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

db php jq vue chart fa bootstrap phpmailer Attrigger gcm

Main Functions

Sign up & Login

login1 login2

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. food1 food2

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. food3 food4 food5

Edit or Delete food in storage

food6

Shopping List function

list1 list2 list3

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) plan1 plan2 plan3

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) account1 account2 There are examples of two different notifications. noti1 noti2

Admin Page

You can access to the admin page in ./admin.php to view system information admin

Responsive Design

This system uses responsive design, which is compatible on multiple devices phone

Design details

System Usage

sys

ERD diagram

ERD

Navigation

nav

Data Flow

dataflow

Notification function design

noti

Persona

persona

Interface Wire-frames

wireframe

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