Este é o projeto base para o desenvolvimento de sistemas utilizando o Rails da Empresa Júnior de Computação - CJR.
Ele é baseado no Rails 4 e Ruby 2.3.1.
- SASS para estilos SCSS
- Slim para as views HTML
- Bootstrap como framework CSS
- Responders para deixar os controllers mais limpos
- Devise para autenticação básica de usuário
- Cancancan para autorização/permissões de perfis/usuários
- Google Analytics Rails para o suporte do Google Analytics
- Puma como servidor web padrão do Rails
- Mailcatcher como servidor SMTP
- Rubocop para reportar violações no estilo Ruby
- Pry Rails para explorar objetos interativamente no console
- Brakeman para checar a aplicação em busca de vulnerabilidades de segurança
- Bundler Audit para realizar scans no Gemfile em busca de dependências inseguras
- Slim Lint para reportar violações no estilo Ruby nos templates
.slim - SCSS Lint para reportar violações de convenção de código SCSS
- Web Console para um melhor debugging via console IRB no browser
- Annotate para gerar comentários nos models com os seus atributos
- Rails ERD para gerar diagramas entidade realacionamento baseado nos models
- RSpec para testes de unidade
- Capybara para testes de integração
- Factory Girl para dados de teste
- Faker para geração de dados aleatórios de teste
O envio de emails em desenvolvimento é feito através MailCatcher pela seguinte configuração, no arquivo config/environments/development.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 }Os emails estarão disponíveis através da interface acessada no link localhost:1080
No Heroku, atribua valores às variáveis de ambientes ENV[GMAIL_USERNAME] e ENV[GMAIL_PASSWORD].
$ heroku config:set GMAIL_USERNAME=email@gmail.com
$ heroku config:set GMAIL_PASSWORD=senha_do_emailDescomente a linha abaixo no arquivo config/environments/production.rb e insira o link para a aplicação no Heroku.
config.action_mailer.default_url_options = { host: '[LINK_DO_HEROKU]' }- Clone a aplicação como novo projeto.
$ git clone https://github.com/unbcjr/projeto_base.git [NOME_DO_NOVO_PROJETO]- Execute o script para configurar a aplicação.
$ bin/setup- Altere o nome da aplicação.
$ rails g rename:app_to [NOME_DO_NOVO_PROJETO]- Crie a aplicação no GitHub da CJR e dê um push na master. Certifique-se que possui o remote.
$ git remote remove origin
$ git remote add origin https://github.com/unbcjr/[NOME_DO_PROJETO].git
$ git push -u origin master- Atualize o arquivo
README.md.
$ mv doc/README.md README.md
$ git commit -am "Atualizando README.md"O sistema em Rails tem que ser hospedado no Heroku durante sua fase de desenvolvimento.
- Dê um fork no projeto.
- Configure-o na sua máquina utilizando o script
bin/setup. - Tenha certeza que os testes passaram, utilize
rubocoperspec. - Faça suas alterações. Adicione testes para as alterações que julgar necessárias.
- Certifique-se que os testes passem.
- Mencione suas alterações na seção "Não lançado" em
CHANGELOG.md. - Dê um push do seu fork e faça um pull request.
ou
- Abra uma issue.
- Detalhe bem a alteração que deseja.
- Caso se sinta a vontade, crie um branch e desenvolva.
- Em seguida faça um faça um pull request.