Slide 1

Slide 1 text

DESENVOLVENDO O MÍNIMO COM RUBY ON RAILS RS on Rails 2013 - Irio Musskopf

Slide 2

Slide 2 text

Qual é a sua motivação?

Slide 3

Slide 3 text

Preocupe-se com o que realmente importa

Slide 4

Slide 4 text

ru·bis·ta adj. aquele que enxerga valor em entregar um resultado de qualidade.

Slide 5

Slide 5 text

Quem devo beneficiar?

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Irio Musskopf

Slide 10

Slide 10 text

Isso vai definir como você desenvolve

Slide 11

Slide 11 text

"Brazilian software boutique focused in delivering the best value for its customers." http://www.codeminer42.com/

Slide 12

Slide 12 text

Microsoft Word 1997

Slide 13

Slide 13 text

2001 Insatisfação gerou o Agile Manifesto.

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Expressividade do Ruby

Slide 16

Slide 16 text

$ rails new a_app $ cd a_app $ rails s $ git init $ git add . $ git commit -m "Initialize clean Rails project" Trilhos do Rails

Slide 17

Slide 17 text

Trilhos do Rails

Slide 18

Slide 18 text

$ heroku create $ git push heroku master $ heroku open Deploy

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

$ rails g scaffold Product name:string O melhor

Slide 21

Slide 21 text

$ rails g scaffold Product name:string E o pior

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Popular cada um dos arquivos criados?

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

NÃO!

Slide 26

Slide 26 text

TALVEZ!

Slide 27

Slide 27 text

● Model ● Controller ● View

Slide 28

Slide 28 text

● Model ● Controller ● View ● Helper ● Specs ● Capybara ● Poltergeist

Slide 29

Slide 29 text

● Model ● Controller ● View ● Helper ● Specs ● Capybara ● Poltergeist ● Browser

Slide 30

Slide 30 text

Design não é democrático

Slide 31

Slide 31 text

MVP Minimum Viable Product

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

Um MVP a cada dia

Slide 34

Slide 34 text

Escopo fechado. E agora?

Slide 35

Slide 35 text

"A proposta"

Slide 36

Slide 36 text

Pesquisar produto

Slide 37

Slide 37 text

Descrição pouco permissiva Elasticsearch, verificando com prioridade decrescente pelos atributos mostrados primeiro na página; pouca prioridade para as categorias relacionadas e, caso não tenham resultados, pesquisar nos comentários do produto. Pesquisar produto

Slide 38

Slide 38 text

Pesquisar produto Descrição mais permissiva Busca de produtos usando Elasticsearch ou Solr para poder (mais facilmente) avaliar todos os campos do model.

Slide 39

Slide 39 text

Uma boa descrição Buscar produtos. Pesquisar produto

Slide 40

Slide 40 text

http://goo.gl/0YJyAT Pesquisar produto

Slide 41

Slide 41 text

Pesquisar produto

Slide 42

Slide 42 text

Searchkick https://github.com/ankane/searchkick PostgreSQL http://goo.gl/C4LIy8 Pesquisar produto

Slide 43

Slide 43 text

Céu na Terra Avaliar a necessidade de buscar produtos. Pesquisar produto

Slide 44

Slide 44 text

Anúncio

Slide 45

Slide 45 text

Descrição Permitir o administrador, via área restrita, configurar um anúncio a ser mostrado na página inicial. Aceitar qualquer código HTML. Anúncio

Slide 46

Slide 46 text

Uma boa descrição Permitir adição de banner publicitário na home de tamanho 970x250 via interface administrativa. Anúncio

Slide 47

Slide 47 text

Realidade Talvez o cliente não precise do banner. Anúncio

Slide 48

Slide 48 text

Banner flutuante

Slide 49

Slide 49 text

Descrição Permitir o administrador, via área restrita, configurar uma imagem, um link externo, um ícone de fechar, um tempo de fechamento automático e um posicionamento (x, y) na tela. Banner flutuante

Slide 50

Slide 50 text

Uma boa descrição Não usar banner flutuante. Banner flutuante

Slide 51

Slide 51 text

Infinite scroll

Slide 52

Slide 52 text

Descrição Ao rolar a página de listagem até o fim, os próximos itens devem ser carregados automaticamente, usando "infinite scroll". Infinite scroll

Slide 53

Slide 53 text

Uma boa descrição Permitir, de um modo simples, que o usuário passe para a próxima página na listagem. Infinite scroll

Slide 54

Slide 54 text

Infinite scroll

Slide 55

Slide 55 text

Amizades

Slide 56

Slide 56 text

Descrição Amizades simétricas e assimétricas. ● Permitir amizades entre dois usuários. ● Permitir que usuários possam seguir a atividade de livros marcados como lidos por outra pessoas. Amizades

Slide 57

Slide 57 text

Uma boa descrição Permitir usuários seguirem interações principais que um outro usuário tem com sua biblioteca. Amizades

Slide 58

Slide 58 text

Melhor ainda Usar ferramentas existentes para inferir conexões entre usuários do sistema. Amizades

Slide 59

Slide 59 text

Não para por ai.

Slide 60

Slide 60 text

MAIS! Agile Manifesto Dave Thomas, Andy Hunt The Pragmatic Programmer Dave Thomas, Andy Hunt The Lean Startup Eric Ries

Slide 61

Slide 61 text

Obrigado! twitter github gmail irio irio iirineu @ @ @

Slide 62

Slide 62 text

Atribuições Ícones Person designed by Tara Question, Question (2), Question (3) designed by Marwa Boukarim Imagens Two Paths by Robert Hruzek Beach Western Australia by bram_souffreau paper mountain by Judy van der Velden