Giter Club home page Giter Club logo

irs's Issues

TC-ROB-02

Robot processes speech from user.

  1. User speaks to the robot.
  2. Robot processes the speech.
  3. Robot displays text that was spoken.

Expected Outcome

Users speech is displayed to them.

Report interface

Management UI
Sub-tasks:

  • Login-logout flow (#56)
  • Login authentication to database
  • Other things and pull requests

Dashboard Reporting

  • CSS values across time (daily, weekly, monthly) entry vs exit
  • Dropdown for specific timing per filter
  • Average CSS for specified time period
  • Average CSS per staff member
  • Graph historic CSS values for staff member and show on graph.
  • Trend of selected meals from group (nice to have)

TC-EXIT-02

Interfaces from robot are also available on tablet.

  1. Tablet is opened to show same interface as robot.

Expected Outcome

Interface should be identical and have same functionality.

TC-ROB-01

Robot captures image of user

  1. User stands in front of the robot.
  2. Robot captures image of the user.
  3. Robot displays image captured.

Greeting/Robot UI Design

Endpoint in robot.py

UI Design: 9.1 of https://docs.google.com/document/d/19sFZmp3gpnUUBAwQmX9ADK9wBfQw1Miklpnxs_YiCr8/edit#heading=h.6ol07zt2rka5

Interaction: 6.1.1 of https://docs.google.com/document/d/105dhwgfuZhn7RUYRUEhM0qxlRo4OvLpqXy5B-BIrT9I/edit#heading=h.jx6ibiv1q6kz

Pages:
GET /robot Figure 9.1.1 of UI Design
GET /robot/table?people={number of people to seat} Figure 9.1.2&9.1.3 of UI Design
POST /robot/table to support GET /robot/table
GET /robot/proceed{:resid} to support successful POST /robot/table
GET /robot/full to support negative POST /robot/table

Process:

  • implement all the GET endpoints (#99)
  • implement the POST endpoint

Makefile or similar

Thinking about putting all the scripts in a makefile of sorts. Either an actual makefile, or to fit with the theme, a python script. This would be a central point which implements and also documents:

  • Running tests e.g. make test
  • Setup database e.g. make apply-schema
  • Linter e.g. make lint

This would be expandable as we add more features and 'dev-ops' related features.

Running the unit tests with FLASK_DEBUG=1

Running the unit testing suite with the environment variable FLASK_DEBUG=1 will cause the unit tests to fail intest_db.py, with:

AssertionError: A setup function was called after the first request was handled.  This usually indicates a bug in the application where a module was not imported and decorators or other functionality was called too late. To fix this make sure to import all your view modules, database models and everything related at a central place before the application starts serving requests.

This is a known issue as per here: ga4gh/ga4gh-server#791.

Let it be known, that people running unit tests locally should do so with export FLASK_DEBUG=0. (I don't think there is any other quick fix to this)

TC-CSS-01

CSS score is calculated.

  1. Image is taken of the user.
  2. Image is proccessed and passed through the function.
  3. CSS score is assigned to the user.

Expected Outcome

CSS score is created and is between 0 and 100.

TC-EXIT-01

Image capture of user.

  1. User stands in front of the tablet.
  2. Image is captured.
  3. Image is displayed to concierge.

Expected Outcome

Concierge is able to see the photo that has been taken.

Store CSS with Customer Event

  • Take inputs: s3 filename and csss (int from 0 to 100) and store in db. (#108)
  • Need to design schema for creating the filename.
  • connect lambda - upload to s3 (#108)
  • trigger - get css - populate entry (#107).

Deploy to AWS

Lambda Functions:

  • Flask App - HTTP Trigger
  • Azure Face Recognition - S3 Trigger

S3:

  • Static Assets Bucket
  • Face Recognition Bucket

Route53:

  • setup domain

RDS:

  • Host the database

CloudFront:

  • [] Make pretty url like this.

TC-CSS-02

CSS score is stored with table data.

  1. CSS is calculated.
  2. CSS is stored with the table reservation in the database.

Expected Outcome

Searching for a reservation should show CSS score for table.

TC-ROB-03

Robot speaks to user to prompt them for an answer.

  1. User is detected by the robot.
  2. Robot speaks to the user.

Expected Outcome

Robot is able to speak to the user to prompt them.

Database Test Fixture

Need a test fixture to inject the db connection into unit tests as they require it.

TC-TBL-02

Table state changes as users are assigned.

  1. User selectes a table
  2. State of the table is changed.

Expected Outcome

Searching the table in the database should show that the table has been allocated.

TC-TBL-01

Tables are shown to the user.

  1. User enters the size of their party.
  2. List of tables are shown to the user.
  3. User selects a table from the list.
  4. Table is assigned to that group.

Expected Outcome

Interface should show available tables for the user based on their party size.

Exit kiosk interface

  • Bootstrap modal for pop up where you can select new table state

  • Reading from and posting (updated status) to db

  • Applying css (already created) to a table if it is now unavailable

Autodeploy to Cloud Services

Travis:

  • Add deploy scripts lambda
  • Add deploy scripts s3 static assets

Lambda:

  • Flask App, HTTP Trigger
  • Sentiment Analysis, S3 Trigger

S3:

  • Static Assets
  • Images pending recognition

API Gateway:

  • Lambda triggers

CloudFront:

  • Amalgamate S3, Lambda
  • Make the url pretty

Route53:

  • Pretty URL

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.