/pizzaria-sin5005

Projetinho da disciplina SIN5005 Tópicos em Engenharia de Software. Só o basicão de um sistema. Estou usando Ruby On Rails, integração contínua e testes automatizados, além de postgres.

Primary LanguageRuby

Pizzaria SIN5005

Projetinho da disciplina SIN5005 Tópicos em Engenharia de Software. Só o basicão de um sistema. Estou usando Ruby On Rails, integração contínua e testes automatizados, além de postgres.

(https://pizzaria-sin5005.herokuapp.com/)

Versões:

  • Ruby: 2.4.0
  • Rails: 5.0.3
  • postgreSQL: 9.6

Instalações:

  1. link1 ubuntu
  2. link2 ubuntu
  • postgreSQL:
  1. link1 ubuntu
  2. link2 windows
  • Ambiente de desenvolvimento (Ubuntu):
  1. Atom: opção de IDE (tem vários recursos já instalados).
  2. Sublime Text: outra opção de IDE, porém precisa instalar vários plugins.
  3. linter-rubocop: ajuda a manter a padronização do código auxiliando a IDE (Atom) a evidenciar o que está fora do padrão.
  4. rubocop-auto-correct: integrado com o Atom ajuda a manter o código padronizado oferecendo o recurso auto-correct.

Outros links úteis:

  • RSpec (testes unitários):
  1. Behaviour Driven Development for Ruby. Making TDD Productive and Fun
  2. Usando o RSpec para testar sua aplicação Rails
  3. How to test rails models with rspec
  4. Documentação.
  • Cucumber (testes de aceitação):
  1. Tutorial 1
  2. Rails cucumber test cases for simple CRUD using capybara and selenium
  3. Documentação.

Fluxo de trabalho

Para detalhes sobre a forma de contribuir com esse repositório, por favor olhe o wiki do projeto clicando aqui e siga as orientações contidas lá.


Clonando o repositório

Navegar para a pasta onde fica seus projetos de desenvolvimento (workspace). Por exemplo:

$ cd Documentos/projetos

Via SSH:

$ git clone git@github.com:renatabrasil/pizzaria-sin5005.git

Vai pedir sua chave SSH. Veja esse link para gerar uma. Siga todos os passos do guia porque além de gerar uma chave SSH, tem que adicioná-la a sua conta no github.

OU

Via HTTPS:

$ git clone https://github.com/renatabrasil/pizzaria-sin5005.git

Configurando o projeto

Entrar na pasta pizzaria-sin5005. Todos os demais comandos devem ser executados dentro dela.

O primeiro deles:

$ bundle install

Para criar os bancos de dados, rodar as migrations e o arquivo seed.db (com dados de inicialização do banco de dados) executar:

$ rake db:setup

Se tudo foi seguido corretamente até agora, rodando:

$ rails s

E acessando http://localhost:3000 é possível acessar o sistema.

Comandos adicionais

Console do rails:

$ rails c

Console (ruby):

$ irb

Iniciar o servidor usando uma porta diferente de 3000 (default):

$ rails s -p <numero>

Rodar testes unitários (rspec):

$ rspec

Rodar testes unitários (rspec) de um arquivo específico:

$ bundle exec rspec spec/models/activity_spec.rb

Rodar testes do cucumber:

$ rake cucumber

Rodar todos os testes:

$ rake

Sempre que tiver migrations novas, o comando abaixo deve ser executado:

$ rake db:migrate

Em ambiente de testes:

$ rake db:migrate RAILS_ENV=test

\o/ hey ho, let's go! /o/