GROUP 14 Brittany Cheng Christina Guo Cong Chen Ian Ackerman Terence Tam Clayton Lord, Director of...

1
GROUP 14 Brittany Cheng Christina Guo Cong Chen Ian Ackerman Terence Tam Clayton Lord, Director of Communications and Audience Development Theatre Bay Area, non-profit organization that wants to promote and advance the theatre community in the San Francisco Bay Area TIX Bay Area, a program of Theatre Bay Area, is a website where locals can buy tickets to shows online. The Client TIX Bay Area is currently a mostly static web page with very limited functionality: o Displays a listing of shows from an XML feed of shows provided by goldstar.com, no database o Goldstar.com is an external site that handles the ticket payment and transaction process Want to recommend shows to users based on their activity on the site and preferences that they input o Location o Genre, Keywords o Price o Show dates The Problem The Solution Parse XML feed from goldstar.com into a usable database Work with client to create a recommendation form for users to fill out, allowing us to filter and display shows based on their stated preferences Set up user account creation to save returning user data For a logged in user, show listings are presorted based on: o Recommendation form preferences (location, genre, keywords, price, show dates) o Clicks on specific shows (“recently viewed”) o Shows that the user has marked Design Choices Storage of Show and User Information: Change old system of xml file of show listings to a database for quick access and easy organization Relate shows together through category table to indicate similarity Multiple showtimes allow us to model showings over multiple, different days Users have a through relationship to shows to model favorites / likes and differentiate them. Location-Based Recommendations: Utilize Google API to tell distances from venues to customer for relevant Communicating with non-technical customer Solution: Abstract the customers from technical details, but understand their needs through BDD and user stories Turning the project into a collaborative effort Solution: communication among team members; Git versioning system; maintaining helpful wikis and docs Prioritize what is important for the team Solution: The scrum team proves to be the key to our success, as the scrum master, product owner, and developers together check the progress of the project Feature s Recommendation form: Make it easier for users to find the theater shows they are looking for Users can get similar shows for shows they are interested in Users can fill out a survey of their preferences Display shows based on: o Location – use Google Map API to limit by distance radius o Price o Category o Dates o Keyword Personalized User Experience: Frequent users can sign up to save their show preferences and get better recommendations We track user clicks to improve recommendations Users have the ability to favorite shows We use the user activity and survey information to update the recommendation list o Get the newest shows o For each activity and survey preference, we go through and weigh them appropriately o Return updated list to user Challenges & Lessons Learned Logins: Devise to handle account creation with hashing of passwords and email recovery Ominauth also used to allow customers to easily sign up with facebook account

Transcript of GROUP 14 Brittany Cheng Christina Guo Cong Chen Ian Ackerman Terence Tam Clayton Lord, Director of...

Page 1: GROUP 14 Brittany Cheng Christina Guo Cong Chen Ian Ackerman Terence Tam Clayton Lord, Director of Communications and Audience Development Theatre Bay.

GROUP 14 Brittany Cheng Christina Guo Cong Chen Ian Ackerman Terence Tam

• Clayton Lord, Director of Communications and Audience Development

• Theatre Bay Area, non-profit organization that wants to promote and advance the theatre community in the San Francisco Bay Area

• TIX Bay Area, a program of Theatre Bay Area, is a website where locals can buy tickets to shows online.

The Client

• TIX Bay Area is currently a mostly static web page with very limited functionality:

o Displays a listing of shows from an XML feed of shows provided by goldstar.com, no database

o Goldstar.com is an external site that handles the ticket payment and transaction process

• Want to recommend shows to users based on their activity on the site and preferences that they input

o Locationo Genre, Keywordso Priceo Show dates

The Problem

The Solution• Parse XML feed from goldstar.com into a usable

database • Work with client to create a recommendation

form for users to fill out, allowing us to filter and display shows based on their stated preferences

• Set up user account creation to save returning user data

• For a logged in user, show listings are presorted based on:

o Recommendation form preferences (location, genre, keywords, price, show dates)

o Clicks on specific shows (“recently viewed”)o Shows that the user has marked as

“favorite”

Design ChoicesStorage of Show and User Information:• Change old system of xml file of show listings to a database for

quick access and easy organization• Relate shows together through category table to indicate

similarity• Multiple showtimes allow us to model showings over multiple,

different days• Users have a through relationship to shows to model favorites /

likes and differentiate them.

Location-Based Recommendations:• Utilize Google API to tell distances

from venues to customer for relevant shows

Communicating with non-technical customer• Solution: Abstract the customers from technical details,

but understand their needs through BDD and user stories

Turning the project into a collaborative effort• Solution: communication among team members; Git

versioning system; maintaining helpful wikis and docs

Prioritize what is important for the team• Solution: The scrum team proves to be the key to our

success, as the scrum master, product owner, and developers together check the progress of the project

Features

Recommendation form: Make it easier for users to find the theater shows they are looking for• Users can get similar shows for shows they are interested in• Users can fill out a survey of their preferences• Display shows based on:

o Location – use Google Map API to limit by distance radius

o Priceo Categoryo Dateso Keyword

Personalized User Experience: Frequent users can sign up to save their show preferences and get better recommendations• We track user clicks to improve recommendations• Users have the ability to favorite shows• We use the user activity and survey information to update the

recommendation listo Get the newest showso For each activity and survey preference, we go through

and weigh them appropriatelyo Return updated list to user

Challenges & Lessons Learned

Logins:• Devise to handle account creation

with hashing of passwords and email recovery

• Ominauth also used to allow customers to easily sign up with facebook account