venue driver technology overview

Post on 16-May-2015

2.098 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Technology Overview

Technology Stack

Ruby on Rails

DataHTTP

HTML5 Mobile HTML5API

Passenger

Apache MySQL

MongoDB

Gentoo Linux

Engine Yard AppCloud

Amazon EC2

JavaScript

SolrRedis

Production Cluster

Application Master

Rails

Apache

Master Database

Application

Rails

Apache

Application

Rails

Apache

HAProxy

MongoDB

MySQL

Redis Solr

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

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

Development Methodology

Lean Software Development

Behavior-Driven Design

Lean Software Development

Sell features that don’t exist

Implement features Just-In-Time

WHATto build

Behavior-Driven Design

Specify how a feature should behave

Implement until automated tests pass

HOWto build

Automated Testing Technology

Capybara

Capybara WebKit

Headless WebKit

Selenium

Firefox

Simulator

RSpec

Cucumber

Behavior Specifications

Ruby on Rails

Unit Tests

Jasmine

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

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

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

Task Backlog

top related