SlideShare a Scribd company logo
1 of 13
Download to read offline
Technology Overview
HTML5             Mobile HTML5
API
                        JavaScript

               Ruby on Rails

  HTTP                        Data
Passenger       Redis      MongoDB      Solr

 Apache                      MySQL

               Gentoo Linux

            Engine Yard AppCloud

                Amazon EC2


              Technology Stack
Application Master
  Rails                 HAProxy

 Apache


          Application             Application
             Rails                   Rails

            Apache                 Apache



           Master Database
Redis         MongoDB             Solr

               MySQL



        Production Cluster
Events        Venues        Accounts
  Event 1       Venue 1          #1

  Event 2       Venue 2          #2


Reservations   Guest Lists   Ticket Types
    #1             #1            #1

    #2             #2            #2


                 Guests      Ticket Sales
                   #1            #1

                   #2            #2


               Data Model
Event 1              Event 2             Event 3
Reservation 1       Reservation 1        Ticket Type 1

Reservation 2        Guest List 1        Ticket Sale 1

Guest List 1           Guest 1           Ticket Sale 2
  Guest 1              Guest 2           Ticket Sale 3
  Guest 2            Guest List 2        Ticket Sale 4

Ticket Type 1          Guest 1
                                         Ticket Type 2
Ticket Sale 1          Guest 2           Ticket Sale 1
Ticket Sale 1                            Ticket Sale 2




                Event Report Documents
Lean Software Development




   Behavior-Driven Design




Development Methodology
Sell features that don’t exist




              WHAT
             to build




Implement features Just-In-Time




Lean Software Development
Specify how a feature should behave




               HOW
              to build




Implement until automated tests pass




    Behavior-Driven Design
Behavior Specifications

                         Cucumber

Jasmine                    RSpec

                         Capybara

Capybara WebKit       Selenium         Simulator

Headless WebKit        Firefox



                   Unit Tests

                  Ruby on Rails



          Automated Testing Technology
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
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_code

end




                Example Unit Test
Backlog     Ready         Working   Complete
Task #14   Task #17      Task #14   Task #15

Task #18   Task #20      Task #11   Task #12

Task #22   Task #21       Task #9   Task #10

Task #23   Task #19       Task #6   Task #8

Task #24   Task #16       Task #4   Task #7

Task #25   Task #15                 Task #5

Task #26   Task #13                 Task #3

Task #27                            Task #2

Task #28                            Task #1


             Kanban Status Board
Task Backlog

More Related Content

Similar to Venue Driver Technology Overview

Intro to-rails-webperf
Intro to-rails-webperfIntro to-rails-webperf
Intro to-rails-webperf
New Relic
 
Dmitry Lebedev: Agile Testing Using Agile Tools
Dmitry Lebedev: Agile Testing Using Agile ToolsDmitry Lebedev: Agile Testing Using Agile Tools
Dmitry Lebedev: Agile Testing Using Agile Tools
Agile Lietuva
 
Marino-mercedesportfolio201212
Marino-mercedesportfolio201212Marino-mercedesportfolio201212
Marino-mercedesportfolio201212
Marino Mercedes
 

Similar to Venue Driver Technology Overview (20)

Scalable Streaming Data Pipelines with Redis
Scalable Streaming Data Pipelines with RedisScalable Streaming Data Pipelines with Redis
Scalable Streaming Data Pipelines with Redis
 
DDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learnedDDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learned
 
JavaScript tracing, debugging, profiling made simple with spy-js
JavaScript tracing, debugging, profiling made simple with spy-jsJavaScript tracing, debugging, profiling made simple with spy-js
JavaScript tracing, debugging, profiling made simple with spy-js
 
Intro to-rails-webperf
Intro to-rails-webperfIntro to-rails-webperf
Intro to-rails-webperf
 
Concurrent Python at Beeswax - Ron Rothman - NYC Python Meetup 2020
Concurrent Python at Beeswax - Ron Rothman - NYC Python Meetup 2020Concurrent Python at Beeswax - Ron Rothman - NYC Python Meetup 2020
Concurrent Python at Beeswax - Ron Rothman - NYC Python Meetup 2020
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzke
 
Harnessing the Power of AI with Windows Ink
Harnessing the Power of AI with Windows InkHarnessing the Power of AI with Windows Ink
Harnessing the Power of AI with Windows Ink
 
Sane Sharding with Akka Cluster
Sane Sharding with Akka ClusterSane Sharding with Akka Cluster
Sane Sharding with Akka Cluster
 
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
 
Seaside - Web Development As You Like It
Seaside - Web Development As You Like ItSeaside - Web Development As You Like It
Seaside - Web Development As You Like It
 
Dmitry Lebedev: Agile Testing Using Agile Tools
Dmitry Lebedev: Agile Testing Using Agile ToolsDmitry Lebedev: Agile Testing Using Agile Tools
Dmitry Lebedev: Agile Testing Using Agile Tools
 
Cucumber
CucumberCucumber
Cucumber
 
Cqrs and event sourcing in azure
Cqrs and event sourcing in azureCqrs and event sourcing in azure
Cqrs and event sourcing in azure
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
 
Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with Quarkus
 
Marino mercedesportfolio201212
Marino mercedesportfolio201212Marino mercedesportfolio201212
Marino mercedesportfolio201212
 
Marino-mercedesportfolio201212
Marino-mercedesportfolio201212Marino-mercedesportfolio201212
Marino-mercedesportfolio201212
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 
React Native: Expectations vs Reality
React Native: Expectations vs RealityReact Native: Expectations vs Reality
React Native: Expectations vs Reality
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Venue Driver Technology Overview

  • 2. HTML5 Mobile HTML5 API JavaScript Ruby on Rails HTTP Data Passenger Redis MongoDB Solr Apache MySQL Gentoo Linux Engine Yard AppCloud Amazon EC2 Technology Stack
  • 3. Application Master Rails HAProxy Apache Application Application Rails Rails Apache Apache Master Database Redis MongoDB Solr MySQL Production Cluster
  • 4. Events Venues Accounts Event 1 Venue 1 #1 Event 2 Venue 2 #2 Reservations Guest Lists Ticket Types #1 #1 #1 #2 #2 #2 Guests Ticket Sales #1 #1 #2 #2 Data Model
  • 5. Event 1 Event 2 Event 3 Reservation 1 Reservation 1 Ticket Type 1 Reservation 2 Guest List 1 Ticket Sale 1 Guest List 1 Guest 1 Ticket Sale 2 Guest 1 Guest 2 Ticket Sale 3 Guest 2 Guest List 2 Ticket Sale 4 Ticket Type 1 Guest 1 Ticket Type 2 Ticket Sale 1 Guest 2 Ticket Sale 1 Ticket Sale 1 Ticket Sale 2 Event Report Documents
  • 6. Lean Software Development Behavior-Driven Design Development Methodology
  • 7. Sell features that don’t exist WHAT to build Implement features Just-In-Time Lean Software Development
  • 8. Specify how a feature should behave HOW to build Implement until automated tests pass Behavior-Driven Design
  • 9. Behavior Specifications Cucumber Jasmine RSpec Capybara Capybara WebKit Selenium Simulator Headless WebKit Firefox Unit Tests Ruby on Rails Automated Testing Technology
  • 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. 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_code end Example Unit Test
  • 12. Backlog Ready Working Complete Task #14 Task #17 Task #14 Task #15 Task #18 Task #20 Task #11 Task #12 Task #22 Task #21 Task #9 Task #10 Task #23 Task #19 Task #6 Task #8 Task #24 Task #16 Task #4 Task #7 Task #25 Task #15 Task #5 Task #26 Task #13 Task #3 Task #27 Task #2 Task #28 Task #1 Kanban Status Board