13
Technology Overview

Venue Driver Technology Overview

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Venue Driver Technology Overview

Technology Overview

Page 2: Venue Driver Technology Overview

Technology Stack

Ruby on Rails

DataHTTP

HTML5 Mobile HTML5API

Passenger

Apache MySQL

MongoDB

Gentoo Linux

Engine Yard AppCloud

Amazon EC2

JavaScript

SolrRedis

Page 3: Venue Driver Technology Overview

Production Cluster

Application Master

Rails

Apache

Master Database

Application

Rails

Apache

Application

Rails

Apache

HAProxy

MongoDB

MySQL

Redis Solr

Page 4: Venue Driver Technology Overview

Data Model

Accounts

#1

#2

Guest Lists

#1

#2

Reservations

#1

#2

Guests

#1

#2

Ticket Types

#1

#2

Ticket Sales

#1

#2

Events

Event 1

Event 2

Venues

Venue 1

Venue 2

Page 5: Venue Driver Technology Overview

Event Report Documents

Event 1

Reservation 1

Reservation 2

Guest List 1

Guest 1

Guest 2

Ticket Type 1

Ticket Sale 1

Ticket Sale 1

Event 2

Reservation 1

Guest List 2

Guest 1

Guest 2

Guest List 1

Guest 1

Guest 2

Event 3

Ticket Type 2Ticket Sale 1

Ticket Sale 2

Ticket Type 1

Ticket Sale 3

Ticket Sale 4

Ticket Sale 1

Ticket Sale 2

Page 6: Venue Driver Technology Overview

Development Methodology

Lean Software Development

Behavior-Driven Design

Page 7: Venue Driver Technology Overview

Lean Software Development

Sell features that don’t exist

Implement features Just-In-Time

WHATto build

Page 8: Venue Driver Technology Overview

Behavior-Driven Design

Specify how a feature should behave

Implement until automated tests pass

HOWto build

Page 9: Venue Driver Technology Overview

Automated Testing Technology

Capybara

Capybara WebKit

Headless WebKit

Selenium

Firefox

Simulator

RSpec

Cucumber

Behavior Specifications

Ruby on Rails

Unit Tests

Jasmine

Page 10: Venue Driver Technology Overview

Example Behavioral Specification

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".

Page 11: Venue Driver Technology Overview

Example Unit Test

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

Page 12: Venue Driver Technology Overview

Kanban Status Board

Backlog

Task #14

Task #18

Task #22

Task #23

Task #24

Task #25

Task #26

Task #27

Task #28

Ready

Task #17

Task #20

Task #21

Task #19

Task #16

Task #15

Task #13

Working

Task #14

Task #11

Task #9

Task #6

Task #4

Complete

Task #15

Task #12

Task #10

Task #8

Task #7

Task #5

Task #3

Task #2

Task #1

Page 13: Venue Driver Technology Overview

Task Backlog