Technology Overview
HTML5             Mobile HTML5API                        JavaScript               Ruby on Rails  HTTP                     ...
Application Master  Rails                 HAProxy Apache          Application             Application             Rails   ...
Events        Venues        Accounts  Event 1       Venue 1          #1  Event 2       Venue 2          #2Reservations   G...
Event 1              Event 2             Event 3Reservation 1       Reservation 1        Ticket Type 1Reservation 2       ...
Lean Software Development   Behavior-Driven DesignDevelopment Methodology
Sell features that don’t exist              WHAT             to buildImplement features Just-In-TimeLean Software Developm...
Specify how a feature should behave               HOW              to buildImplement until automated tests pass    Behavio...
Behavior Specifications                         CucumberJasmine                    RSpec                         CapybaraC...
Scenario: The customer should see a PDF link at the end of the purchase process. Given an event "Test Event" And 2 active ...
def test_generates_valid_hard_ticket_code  ticket_sale = TicketSale.create(    :event_id => @event.id, :quantity => 2  )  ...
Backlog     Ready         Working   CompleteTask #14   Task #17      Task #14   Task #15Task #18   Task #20      Task #11 ...
Task Backlog
Upcoming SlideShare
Loading in...5
×

Venue Driver Technology Overview

2,106

Published on

An overview of Venue Driver's technology stack, data model, and development methodology.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,106
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Venue Driver Technology Overview

  1. 1. Technology Overview
  2. 2. HTML5 Mobile HTML5API JavaScript Ruby on Rails HTTP DataPassenger Redis MongoDB Solr Apache MySQL Gentoo Linux Engine Yard AppCloud Amazon EC2 Technology Stack
  3. 3. Application Master Rails HAProxy Apache Application Application Rails Rails Apache Apache Master DatabaseRedis MongoDB Solr MySQL Production Cluster
  4. 4. Events Venues Accounts Event 1 Venue 1 #1 Event 2 Venue 2 #2Reservations Guest Lists Ticket Types #1 #1 #1 #2 #2 #2 Guests Ticket Sales #1 #1 #2 #2 Data Model
  5. 5. Event 1 Event 2 Event 3Reservation 1 Reservation 1 Ticket Type 1Reservation 2 Guest List 1 Ticket Sale 1Guest List 1 Guest 1 Ticket Sale 2 Guest 1 Guest 2 Ticket Sale 3 Guest 2 Guest List 2 Ticket Sale 4Ticket Type 1 Guest 1 Ticket Type 2Ticket Sale 1 Guest 2 Ticket Sale 1Ticket Sale 1 Ticket Sale 2 Event Report Documents
  6. 6. Lean Software Development Behavior-Driven DesignDevelopment Methodology
  7. 7. Sell features that don’t exist WHAT to buildImplement features Just-In-TimeLean Software Development
  8. 8. Specify how a feature should behave HOW to buildImplement until automated tests pass Behavior-Driven Design
  9. 9. Behavior Specifications CucumberJasmine RSpec CapybaraCapybara WebKit Selenium SimulatorHeadless WebKit Firefox Unit Tests Ruby on Rails Automated Testing Technology
  10. 10. Scenario: The customer should see a PDF link at the end of the purchase process. Given an event "Test Event" And 2 active "General Admission" tickets at 10 dollars And the event "Test Event" is active, When I go to the ticket sales page And I follow the buy tickets link for "Test Event" And I press "checkout" And I submit valid payment details, Then I should see "download your ticket here". Example Behavioral Specification
  11. 11. def test_generates_valid_hard_ticket_code ticket_sale = TicketSale.create( :event_id => @event.id, :quantity => 2 ) hard_code = ticket_sale.generate_hard_ticket_code assert TicketSale.valid_hard_ticket_code? hard_codeend Example Unit Test
  12. 12. Backlog Ready Working CompleteTask #14 Task #17 Task #14 Task #15Task #18 Task #20 Task #11 Task #12Task #22 Task #21 Task #9 Task #10Task #23 Task #19 Task #6 Task #8Task #24 Task #16 Task #4 Task #7Task #25 Task #15 Task #5Task #26 Task #13 Task #3Task #27 Task #2Task #28 Task #1 Kanban Status Board
  13. 13. Task Backlog
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×