GrubTruck (iOS Food Truck App)

Slides:



Advertisements
Similar presentations
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Advertisements

EFRONT V4 EXTENSIONS ARCHITECTURE. The goal  To offer more flexibility to 3 rd party users to modify eFront functionality  To further extend eFront.
FIspace Security Components FIspace Security Components NetFutures 2015 FIspace project Javier Romero Negrín Javier Hitado Simarro ATOS Serdar Arslan KoçSistem.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Sharepoint Portal Server Basics. Introduction Sharepoint server belongs to Microsoft family of servers Integrated suite of server capabilities Hosted.
LOGO Link It Company Supervised By: Mr.: Ahmed Abumsameh.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
FIspace SPT Seyhun Futaci. Technology behind FIspace Authentication and Authorization IDM service of Fispace provides SSO solution for web apps, mobile.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
What's New in Kinetic Calendar 2.0 Jack Boespflug Kinetic Data.
Registration Solutions for your Event Management.
Introduces ePIRATE electronic Portal for Institutional Research at ECU East Carolina University Office for Human Research Integrity.
 Pages within our Framework  Categories within Framework  Products within Framework  Model-View-Controller description of Page, category and products.
Combining ArcGIS for Server & ArcGIS Online Julia Guard and Matt Monson.
SURVEY APPLICATION. Overview Introduction Why survey app?? Architecture diagram Application flow Features Future plan.
Visit amzsoftech.com Click Here. Type the User name Type the password Click Login First time user Click Sign Up.
SCHOOL MANAGEMENT SYSTEM Developed by: Swapnil R. Gohil ( )
MADAN MOHAN MALAVIYA ENGINEERING COLLEGE,GORAKHPUR Submitted by: TANUJA SRIVASTAV ( ) Submitted To: Mrs. Meenu Assistant professor CSE Department.
Scott Van Heest IT Specialist, Data Analysis and Support Team, NPCR, CDC Denise Farmer CDC/NPCR Contractor Division of Cancer Prevention and Control National.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED ADMINISTRATION.
Application program interface (API)
Architecture Review 10/11/2004
Training for developers of X-Road interfaces
Presenter: Chris Blake, Associate Director
Ayana Edmonds Justin Peck Adam Schmidt
Embed Power BI in your Web application
Using E-Business Suite Attachments
Speaker’s Name/Department (delete if not needed) Month 00, 2017
Node.js Express Web Services
Content - Introduction. - Problem statement. - Objectives.
PDA & Mobile Verification Solution Presentation
By David Neely and Brandon Lee
Standard Operating Procedure
All about social networking
By Janet Crawford and Dam Luong Submitted to the Faculty of
HR Portal Team Dr. Ashraf Armoush Supervisor Ala’eddeen Awwad
IIEE Membership Portal
Task Management System (TMS)
Twitter & NoSQL Integration with MVC4 Web API
SSOScan: Automated Testing of Web Applications for Single Sign-On Vulnerabilities Yuchen Zhou, and David Evans 23rd USENIX Security Symposium, August,
Regional business register
Students Welcome to “Students” training module..
Why BOW-TIE & HAZID monitor?
Why HAZOP-SIL monitor? Knowing what should be done for: HAZOP-SIL
CSM System ( Customer Service Management System)
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
BY: SHIVI AGRAWAL ( ) CSE-(6)C
SchoolFront - Notifications Training
Senior Project, Spring 2018 To-do List Optimizer 1.0 Problem Solution
Increased Efficiency and Effectiveness
Data Solutions- Karm Upadhyay Zoheb Khan Swati Shukla
Why JHA monitor? Knowing what should be done for: Job Hazard Analysis
Why HSE Plan monitor? Knowing what should be done for: HSE Plan
Academy Hub An eUnomia Factory Solution.
Why Interface monitor? Knowing what should be done for:
CIRCABC Proof Of Concept
One EPIC Place Website Scheduler
Technical Integration Guide
SharePoint services Provides team collaboration through SharePoint Sites and makes it easy for communities to work together on documents, tasks, contacts,
CS5220 Advanced Topics in Web Programming Secure REST API
Why Sub-System monitor?
JAAS AuthN Tokens in uPortal and Beyond
Combining ArcGIS for Server & ArcGIS Online
Why SIMOP monitor? Knowing what should be done for SIMOP
INSTRUCTOR NOTES/LINKS
WEB BASED SECURITY CRM APPLICATION FOR FREEZER LOCKER
Academy Hub An eUnomia Factory Solution.
The new EDAMIS and its security
Contract Management Software 100% Cloud-Based ContraxAware provides you with a deep set of easy to use contract management features.
COMPANY PATH NAME Windows Application Software Providing worlds best Pathology Management or Laboratory Management software.
Presentation transcript:

GrubTruck (iOS Food Truck App) Jonny Forney, Tyler Golias, Jacob Holcomb, Kaitlin Wrasman Jonny

Introduction & Agenda Team Leader: Jonny Forney Team Members: Tyler Golias, Jacob Holcomb, Kaitlin Wrasman Agenda Project Background Project Discussion Conclusion Questions Jonny

Project Background Problem Toledo has a variety of food trucks that aren’t well publicized with no good way to publicize their food No good central location for trucks and customers to connect No accurate location tracker for customers to utilize Jonny

Project Background Solution GrubTruck Application that allows food trucks and customers to interact and share information iOS application, developed using Swift Accommodates both food truck operators and their customers Integrates a map API to provide real-time locations and routes Solves the communication gap between food trucks and their customers around Toledo Jonny

Project Discussion Jonny Work Completed API User Interface Division of Work API Tyler Jacob User Interface Jonny Kaitlin Learning Experiences Using XCode, Swift Merging changes Effective collaboration Meeting with interested parties Work Completed API User Interface Login/Registration Pages Map View and Search Truck Detail Page Profile/Settings Page Truck Specific Functionality Upload menu and photos Update current location Jonny

Jonny

Jonny

Kaitlin

Kaitlin

Kaitlin

Kaitlin

Food Truck Details Presents the food truck user’s custom menu to the customers. Bridges between the Map View and Menu Item Management.

GrubTruck Web API Overview The API Created using Node JS. There were a few reasons we chose this: Node JS is lightweight and efficient and used by many as a server-side Ample library support through Node Modules There were a few small roadblocks Node JS presented that we overcame: Javascript is Asynchronous (Callbacks) Needed comprehensive Logging (Winston Node Module)

Database and Migrations We chose PostgreSQL as our database because it was open source, secure and easy to use. Migrations We made small incremental changes to the database known as migrations where each change is a different migration file. Sequelize Node Module helped keep these migrations together and we could migrate from version to version as needed.

User Management User Management Actions User Creation (And Verification) User Promotion (From General User to Food Truck User) User Recovery / Password Change Password hashing done using bcrypt hashing function.

Menu Item Management Allows only food truck users to complete the following tasks: Create Menu Items Delete Menu Items Deactivate/Activate Menu Items Search for Specific Items Get All Menu Items for a Specific Truck The overall goal was to provide food truck users with a way to present their own personal menus with fields such as menu item title, price, description, availability, status (is it active?), and its image (base64 encoded string).

JSON Web Tokens (Authentication) A JSON Web Token (JWT) is a standard RFC 7519 practice for creating access tokens in such a way that user claims can be introduced and utilized. Contains three parts that make it unique: Header (contains the type of encryption and the algorithm applied) Payload (claims, expiration date, issue date, etc.) Signature (server signs the token with a secret that only it knows) Changing the header or payload will render the signature invalid. We utilized JWTs to wrap each API route and to present the claim of customer vs. food truck user. Each route requires a JWT to be passed.

Testing (Unit and Integration Tests) Utilized a module known as nodeunit. Created over 20 individual unit tests to analyze each route that is provided as a service by the API. This included tests for login, user creation and validation, creating menu items, deleting menu items, updating food truck locations, and much more. Unit tests were bundled in such a way to completely test key components of the application (Integration tests): Registration, Administration, Password Recovery, Menu Item Management, Food Truck Management, User Profile Management, and an overall complete test.

Logging The logging system for the Web API utilizes two files that store information for the following: API Access (who accessed it and when?) API Processing (what happened when the server processed a request?) {"level":"info","message":" [SUCCESS] - User from 127.0.0.1 requested path /api/user_management/resetpassword/process","timestamp":"2016-11-24T00:55:03.909Z"} {"level":"info","message": "[SUCCESS] - JWT token passed authentication.","timestamp":"2016-11- 24T00:40:58.913Z"} {"level":"info","message": "[SUCCESS] - Food Truck title and subtitle saved as TEST TITLE and TEST SUB TITLE for user with id 116. /api/user_management/updateprofile","timestamp":"2016-11-24T00:40:58.917Z"}

Conclusion Future Plans Contacted members of The Toledo Food Truck Association Met with Director of Strategic Initiatives, Margaret Traband Reached out to the City of Toledo’s Information Technology Department Discussed plans for the future of the app Tyler

Thank you...We are now open for any questions! Tyler