10 likes | 127 Views
GROUP 14 Brittany Cheng Christina Guo Cong Chen Ian Ackerman Terence Tam. Features. The Client. Clayton Lord, Director of Communications and Audience Development
E N D
GROUP 14 Brittany Cheng Christina Guo Cong Chen Ian Ackerman Terence Tam Features The Client • 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. • 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: • Location – use Google Map API to limit by distance radius • Price • Category • Dates • 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 • Get the newest shows • For each activity and survey preference, we go through and weigh them appropriately • Return updated list to user The Problem • TIX Bay Area is currently a mostly static web page with very limited functionality: • Displays a listing of shows from an XML feed of shows provided by goldstar.com, no database • 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 • Location • Genre, Keywords • Price • Show dates Design Choices Challenges & Lessons Learned • 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. • 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;Gitversioning 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 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: • Recommendation form preferences (location, genre, keywords, price, show dates) • Clicks on specific shows (“recently viewed”) • Shows that the user has marked as “favorite” • 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 • Location-Based Recommendations: • Utilize Google API to tell distances from venues to customer for relevant shows