HCI Project.

Slides:



Advertisements
Similar presentations
London & Zurich Plc User Guide. Service Benefits Full on-line management of client accounts Paperless direct debit – no signatures required Standing orders.
Advertisements

User Guide. Service Benefits  Full on-line management of client accounts  Paperless direct debit – no signatures required  Standing orders fixed not.
UNIT-V The MVC architecture and Struts Framework.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
03/07/08 © 2008 DSR and LDAP Authentication Avocent Technical Support.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Access Online Cardholder Transaction Approval Training 1 Client Logo.
Okalo Daniel Ikhena Dr. V. Z. Këpuska December 7, 2007.
User Guide HealthLink Your Personal Health Network.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
Extended DISC Online System User Instruction: How to Review Completed Reports.
CCCognos Connection RSReport Studio ASAnalysis Studio QSQuery Studio ESEvent Studio CSContent Store FWM Framework.
June 27-29, DC2 Software Workshop - 1 Tom Stephens GSSC Database Programmer GSSC Data Servers for DC2.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
Live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax:
Software Overview How to… Review Video and Data  Review the Journal Review the Journal  Simple Search Simple Search  Advanced Search Advanced Search.
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
Advanced Higher Computing Science
How to search and how to upload files into sentry file
Contact form LAW Click the web link
General System Navigation
Section 10.1 Define scripting
SharePoint 2007 Business Intelligence
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
KARES Demonstration.
Introduction to .NET Florin Olariu
Lesson # 9 HP UCMDB 8.0 Essentials
JustWare Mobile | Anthony Munar and Chris Dockstader
To the ETS - Correspondence Online Training Course
Single Sample Registration
TranSearch Real Time Document & Asset Management Web Client
LCGAA nightlies infrastructure
Creating Novell Portal Services Gadgets: An Architectural Overview
CMPE 280 Web UI Design and Development October 24 Class Meeting
Home Automation System
Introduction With TimeCard users can tag SharePoint events with information that converts them into time sheets. This way they can report.
FedEx Billing Online (FBO) Non-Revenue Quick Guide
Presenter: Karoline Lapko
Producer Toolbox User Guide
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Using Groove Philip S. Vavalides Professor - IT/Networking Guilford Technical Community College Jamestown, NC.
…and web frameworks in general
Iteration 1 Presentation
CSE 403 Project SDS Presentation
PubMed Search Options (Basic Course: Module 6)
ICOTS Helpdesk Training
Hi and welcome to the Order Centre – Ordering training.
Hi and welcome to the Order Centre – Ordering training.
Web Systems Development (CSC-215)
Title: Agile Communication Environment Keycode Retrieval System (KRS) User Guide Issue: 0.4 Date: July 2011 Hi and welcome to the Order.
Cognitive Service in AR platform.
Data Upload & Management
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Manuscript Transcription Assistant Initiative
Teaching slides Chapter 6.
Producer Toolbox User Guide
.NET and .NET Core 8. WPF Hierarchy Pan Wuming 2017.
To the ETS - Correspondence Online Training Course
…and web frameworks in general
PubMed Search Options (Basic Course: Module 6)
Ariba Light Account Supplier User Guide.
PubMed Search Options (Basic Course: Module 6)
eSeries Entities By Julie Ladner
Security - Forms Authentication
How to Cease your Service
Partner Portal Training document
SDMX IT Tools SDMX Registry
Presentation transcript:

HCI Project

System Introduction The system is an online health and fitness tracking service, that enables users to keep detailed track of their consumption of different kinds of food components: Protein Fat Carbohydrates Energy Water Sugars With these pieces of information, a user can build an informed summary of their consumption of various things, and work towards healthy goals.

Architecture Server Architecture: Rust / Rocket https://rocket.rs/ Web framework for server applications Implements REST API for Database access Done through a lightweight implementation, ORM available but not used Client Architecture: HTML/CSS/Javascript Vue https://vuejs.org/ Component driven architecture Consolidated single file MVC Two way data binding Client side API interactions

Server Functions (1) The full code for the client and server is available online at https://github.com/LLBlumire/uni-hci main begins the web server by launching rocket. HciDataConn establishes the database connection based on a config file entry, shown at the bottom. It also attaches two routes to the API, which are shown on the following slides.

Server Functions (2) The api_foods api is exposed on /foods, and queries the database for the full list of foods available, this is then used to in future query their composition.

Sever Functions (3) api_food_by_id queries the database for a food based on its identifier, which can be found by querying foods. It then returns the full information and composition of the food, filtering to only the contents we care about.

Client Functions (1) The Vue instance is initialized and configured to talk to the router, which is also configured to be aware of each route and its corresponding component object.

Client Functions (2) (App.vue) logout interfaces with the stubbed user functionality by simply unsetting the active user. getDateNumber and getDateFromNumber provide conversions from ISO 8601 date strings to the internal date representation used in javascript, and the format used within the object model.

Client Functions (3) (App.vue) gramExpand converts a food information block with a given number of grams into and a number of grams consumed into a converted version with the total grams/calories consumed. addFoodInfo combines two different food information blocks by adding them together.

Client Functions (4) (App.vue) foodCreateDateTotalConsumption computes the total amount of food consumed on a given date, and populates the data model with it. isLoggedIn is a simply stubbed method to detect if a user is logged in. innerConsumed is used by a watcher to update The totalConsumption model.

Client Functions (5) (App.vue) Watch innerConsumed to update the model with its consumption values whenever food is consumed. Listen for a update-user event to signal modifications to the user model.

Client Functions (6) (FoodInfoBox.vue) Compute food data based on known values, including upscaling based on the number of grams known to have been consumed, as well as hooking into custom input interfaces and providing a sensible unknown default in case of failure states.

Client Functions (7) (FoodInfoBox.vue) Adds new food to the users object model, properly updating values through watchers as it goes, and emitting the final change to bubble up to the top and then be propagated back down to keep all components synchronized.

Client Functions (8) (FoodSearch.vue) foodKeys returns a list of each food. On component creation, all the foods are queried and stored. When a search is resolved, a signal is emitted to then bubble down the updated resolution and display resolved values in a different component.

Client Functions (9) (Home.vue) Synchronises the displayed FoodInfoBox component with the component found by its child search FoodSearch.

Client Functions (10) (Login.vue) When a user logs in, set their log in the user then redirect them to the status page.

Client Functions (11) (Status.vue) Computes and shows the total food consumption, as well as each food entry consumed on any given day.

Client Functions (12) (Submit.vue) Synchronises the selected date, but otherwise dispatches to FoodInfoBox to perform food adding.

Screenshots The home screen provides a quick means of searching for the contents of a food.

Logging in prevents a username and password interface, which for the purposes of prototyping accepts any username and password. Screenshots (2)

Screenshots (3) Once logged in, the user is redirected to the Status page, on which foods can be entered, total food consumption can be tracked for any given day, and food can still be searched, as on the main page which now supports adding food to the current day (to add to previous days, the date picker on the status page must be used)

Screenshots (4) The submit page enables adding an entirely custom food to the system.