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:
- Ruby: link ubuntu
- Rails:
- postgreSQL:
- Ambiente de desenvolvimento (Ubuntu):
- Atom: opção de IDE (tem vários recursos já instalados).
- Sublime Text: outra opção de IDE, porém precisa instalar vários plugins.
- linter-rubocop: ajuda a manter a padronização do código auxiliando a IDE (Atom) a evidenciar o que está fora do padrão.
- 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):
- Behaviour Driven Development for Ruby. Making TDD Productive and Fun
- Usando o RSpec para testar sua aplicação Rails
- How to test rails models with rspec
- Documentação.
- Cucumber (testes de aceitação):
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á.
Navegar para a pasta onde fica seus projetos de desenvolvimento (workspace). Por exemplo:
$ cd Documentos/projetos
Via SSH:
$ git clone [email protected]: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.
Via HTTPS:
$ git clone https://github.com/renatabrasil/pizzaria-sin5005.git
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.
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/