AutoTab: Progress Report #2 John Gunderman, David Jannotta, Rafael Lopez, Nathan McKinley, Josh...

16
AutoTab: Progress Report #2 John Gunderman, David Jannotta, Rafael Lopez, Nathan McKinley, Josh Snyder

Transcript of AutoTab: Progress Report #2 John Gunderman, David Jannotta, Rafael Lopez, Nathan McKinley, Josh...

  • Slide 1

AutoTab: Progress Report #2 John Gunderman, David Jannotta, Rafael Lopez, Nathan McKinley, Josh Snyder Slide 2 Whats the schedule looking like? Decent, could be better. API is P1 & P2 feature complete (minus handling payment) Phone is P1 & P2 feature complete (barring blocking by Web App) Must be improved aesthetically Web App is missing all functionality relating to bartenders. Slipping by 7 days. Decent, could be better. API is P1 & P2 feature complete (minus handling payment) Phone is P1 & P2 feature complete (barring blocking by Web App) Must be improved aesthetically Web App is missing all functionality relating to bartenders. Slipping by 7 days. Slide 3 Whats the schedule looking like? Total goals Percent completed Percent partway completed Percent no progress P1 1155%9%36% P2 1010%70%20% P3 60%17%83% WebApp missing bartender features Phone app blocked by WebApp We have yet to tie bars to coordinates Slide 4 The Phone App Currently blocked by lack of bartender features in the WebApp. Also cant complete some goals due to bars not being tied to coordinates. Android replaced by Windows Phone because Dave is more experienced with it Demo at the end Currently blocked by lack of bartender features in the WebApp. Also cant complete some goals due to bars not being tied to coordinates. Android replaced by Windows Phone because Dave is more experienced with it Demo at the end Total goals Percent completed Percent partway completed Percent no progress P1 666%16% P2 30%100%0% P3 30% 100% Slide 5 Web API Example uses in a couple slides Total goals Percent completed Percent partway completed Percent no progress P1 1190%10%0% P2 683%0%17% P3 366%0%34% Keeping list of favorite drinks/bars Slide 6 The Website Total goals Percent completed Percent partway completed Percent no progress P1 540%0%60% P2 743%14%43% P3 60%16%83% Slide 7 The Website The clear culprit for making the raw numbers look bad. But every culprit should get a chance to defend itself. So, what happened? The clear culprit for making the raw numbers look bad. But every culprit should get a chance to defend itself. So, what happened? Slide 8 The Website The truth of the matter is that no one on the team was proficient in HTML/CSS and so a lot more time was spent making things look right. This prevented us from working on additional features. The good news is that the more we worked on it and ramped up on the technologies, the easier subsequent features were to make. Overall we expect to be feature complete by next Monday. Upshot? Yes, its annoying that were late, but schedule slips could be far worse than one week. The truth of the matter is that no one on the team was proficient in HTML/CSS and so a lot more time was spent making things look right. This prevented us from working on additional features. The good news is that the more we worked on it and ramped up on the technologies, the easier subsequent features were to make. Overall we expect to be feature complete by next Monday. Upshot? Yes, its annoying that were late, but schedule slips could be far worse than one week. Slide 9 A Note on Security We wanted our passwords to be secure against an offline attack Modern hardware can brute force a 36-bit SHA-256 hashed password like rqr1ncd in a second SHA-256 can be calculated too quickly. therefore we used bcrypt(), which is designed to be slow And so we used an off the shelf Python bcrypt() library We wanted our passwords to be secure against an offline attack Modern hardware can brute force a 36-bit SHA-256 hashed password like rqr1ncd in a second SHA-256 can be calculated too quickly. therefore we used bcrypt(), which is designed to be slow And so we used an off the shelf Python bcrypt() library Slide 10 API: 4 Example Uses Slide 11 What bars exist? QueryJSON Response GET /api/bars [ { bid: 1, name: Mi Pueblo, open: True }, { bid: 2, name: The Winking Lizard, open: True }] Slide 12 What drinks does bar id 1 offer? QueryJSON Response GET /drinksbybar/1 [{ mid: 12, bid: 1, name: Yummy Beer, price: 3.50, available: True }, { mid: 13, bid: 1, name: Yummy Beer Pitcher, price: 12.00, available: True }, { mid: 14, bid: 1, name: Margarita Pitcher, price: 9.00, available: True }] Slide 13 Id like to open a tab at bar 452 QueryJSON Response GET /opentab/452 { tid: 123, bid: 452, username: [email protected], open: True } Slide 14 Id like to close tab 123 at bar 452 QueryJSON Response GET /closetab/123 { pid: '1', bid: 452, username: [email protected], amount: 35.87 } Slide 15 Demos: Website & PhoneWebsite Slide 16 Questions? Weve got Answers