ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
startup on rails!
O minist¨¦rio da sa¨²de adverte:
Todas as opini?es expressadas pelo palestrante que
ir?o passar aqui pelo palco, s?o baseadas apenas em
suas pr¨®prias experi¨ºncias. N?o estou aqui para falar
mal de outras linguagens/frameworks. Desculpem
qualquer coisa desde j¨¢. <3
http://www.codeivate.com/users/carlosalan86
name carlosalan86!
o que ¨¦ uma startup?!
ruby on rails?!
quem usa?!
GIT/GITHUB
AWS-S3
API
Backend
Front
Postgres
Paperclip
Paranoia
Mandril
Newrelic
Route 53
Mailcatcher
Capistrano
Digital Ocean
Pusherwoos
Airbrake
Trello
Asset Sync
Paper Trail
Devise
migrations
caso de uso!
back-end!
versionamento!
4.2
$ rails new agendakids!
estrutura de arquivos!
agendakids/config/database.yml =>
banco de dados!
configurando rotas!
Startup on Rails
Startup on Rails
$ rails generate scaffold HighScore game:string score:integer!
Startup on Rails
Startup on Rails
RESTful!
$ gem install!
-? devise!
-? aws-sdk!
-? paperclip!
-? asset_sync!
-? pundit!
-? paranoia!
-? mandrill-api!
-? paper_trail!
-? simple_form!
-? enumerize!
-? capistrano!
-? mailcatcher!
-? airbrake!
-? newrelic_rpm!
Startup on Rails
$ rails generate devise:install!
$ rails generate devise user!
Startup on Rails
$ rake db:migrate!
Startup on Rails
Active Record!
$ classroom = Classroom.all
=> SELECT "classrooms".* FROM "classrooms"
$ classroom = Classroom.last
=> SELECT "classrooms".* FROM "classrooms" ORDER BY
"classrooms"."id" DESC LIMIT 1
$ classrooms = Classroom.where(id: [20,25])
=> SELECT "classrooms".* FROM "classrooms" WHERE
"classrooms"."id" IN (20, 25)
$ student = Classroom.last.students.last.name
=> "Ensino Fundamental I"
$ handouts = Handout.joins(classrooms: [ students: [ responsibles:
[:profile, :preference] ] ] ).where(handouts: { id: 200 }, responsibles:
{ confirmed_at: nil })
=> SELECT "handouts".*
FROM "handouts"
INNER JOIN "classrooms_handouts" ON "classrooms_handouts"."handout_id" =
"handouts"."id"
INNER JOIN "classrooms" ON "classrooms"."id" =
"classrooms_handouts"."classroom_id"
INNER JOIN "students" ON "students"."classroom_id" = "classrooms"."id"
INNER JOIN "responsibles_students" ON "responsibles_students"."student_id" =
"students"."id"
INNER JOIN "responsibles" ON "responsibles"."id" =
"responsibles_students"."responsible_id"
INNER JOIN "responsible_profiles" ON "responsible_profiles"."responsible_id" =
"responsibles"."id"
INNER JOIN "responsible_preferences" ON "responsible_preferences"."responsible_id"
= "responsibles"."id"
WHERE "handouts"."id" = 200 AND "responsibles"."confirmed_at" IS NULL
9.1
Banco de Dados!
-? devise
-? aws-sdk
-? paperclip
-? asset_sync
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? enumerize
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
Startup on Rails
Startup on Rails
Startup on Rails
-? devise
-? aws-sdk
-? paperclip
-? enumerize
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? asset_sync
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
Startup on Rails
agendakids/app/models/student_profile.rb
-? devise
-? aws-sdk
-? paperclip
-? asset_sync
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? enumerize
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
-? devise
-? aws-sdk
-? paperclip
-? asset_sync
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? enumerize
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
Startup on Rails
Startup on Rails
-? devise
-? aws-sdk
-? paperclip
-? asset_sync
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? enumerize
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
Startup on Rails
Startup on Rails
$ classroom = Classroom.all.count
=> SELECT COUNT(*) FROM "classrooms" WHERE
"classrooms"."deleted_at" IS NULL
=> 170
$ classroom = Classroom.deleted.all.count
=> SELECT COUNT(*) FROM "classrooms" WHERE
("classrooms"."deleted_at" IS NOT NULL)
=> 30
-? devise
-? aws-sdk
-? paperclip
-? asset_sync
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? enumerize
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
Startup on Rails
agendakids/config/initializers/action_mailer.rb
Startup on Rails
Startup on Rails
-? devise
-? aws-sdk
-? paperclip
-? asset_sync
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? enumerize
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
Startup on Rails
Startup on Rails
-? devise
-? aws-sdk
-? paperclip
-? asset_sync
-? pundit
-? paranoia
-? mandrill-api
-? paper_trail
-? simple_form
-? enumerize
-? capistrano
-? mailcatcher
-? airbrake
-? newrelic_rpm
Tratamento de Erros
Startup on Rails
Startup on Rails
Startup on Rails
Startup on Rails
-? Listas:
-? Ideias
-? Backlog
-? Bug
-? In Progress
-? Waiting Test
-? Ready For Production
-? Done
gerenciamento de tarefas!
Startup on Rails
/app/models/concerns/push.rb
Startup on Rails
Startup on Rails
Startup on Rails
DEV => DEV!
Perguntas?!

More Related Content

Startup on Rails