Template para criar os futuros projetos da Prefeitura Municipal de Mossoró utilizando o framework Ruby on Rails e o template html sigmun-hero que foi desenvolvido para o sistema de gestão de municípios SIGMun.
Este template atualmente funciona com:
- Rails 7.0.x
- Bundler 2.x
- PostgreSQL
- Node 16 ou superior
- Yarn 1.x
Se precisar de ajuda para configurar um ambiente de desenvolvimento Ruby on Rails, confira meu Guia de Instalação
Caso prefira rodar localmente é preciso realizar o clone do repositório para um diretório da sua preferência (git clone [email protected]:isaahmdantas/sigmun-rails.git).
Opcional.
- Para tornar este o modelo de aplicativo Rails padrão em seu sistema, crie um arquivo
~/.railsrc
com este conteúdo:
-d postgresql
-m https://raw.githubusercontent.com/isaahmdantas/sigmun-rails/main/template.rb
ou
-d postgresql -m ~/sigmun-rails/template.rb
Para gerar uma aplicação Rails usando este template, passe a opção -m
para rails new
, assim:
rails new sigmun -d postgresql -m https://raw.githubusercontent.com/isaahmdantas/sigmun-rails/main/template.rb
ou
rails new sigmun -d postgresql -m ~/sigmun-rails/template.rb
Lembre-se que as opções devem vir após o nome do aplicativo.
O único banco de dados suportado por este template é o postgresql
.
Se você instalou este template como padrão (usando ~/.railsrc
conforme descrito acima), tudo o que você precisa fazer é executar:
rails new sigmun
Concluir a configuração do template:
cd ~/sigmun
bundle exec bin/setup
rails g scaffold Post title:string description:text active:boolean deleted_at:datetime:index
Sempre ao gerar o crud adicionar o atributo
deleted_at:datetime:index
rails generate datatable Posts
- Lembre-se: Ainda será necessário traduzir os atributos gramaticalmente.
rails generate tradutor Post
rails generate menu Post
rails generate change_routes Post
NOTA: IMPORTANTE RODAR OS GERADORES APÓS O
rails db:migrate
O template executará as seguintes etapas:
- Gera os arquivos e diretórios da aplicação com base nos estilos e componentes do sigmun-hero
- Gera toda configuração padrão dos projetos Rails
- Gerador para criar as classes Datatable dos Models
- Gerador para criar os arquivos de localização dos Models
- Gerador para inserir um item com o menu do crud
- Sistema de autenticação
- Área Administrativa e Site
-
Essencial:
- sidekiq - Implementação de fila de tarefas baseada em Redis para o ActiveJob.
-
Configuração:
- figaro - Configurar váriaveis de ambiente
-
Estilo:
- bootstrap - Kit de ferramentas de front-end poderoso, extensível e repleto de recursos;
- bootstrap-icons - Biblioteca de ícones de código aberto e de alta qualidade com mais de 1.800 ícones.
-
Utilidades:
- acts_as_paranoid - Esta gema pode ser usada para ocultar registros ao invés de excluí-los, tornando-os recuperáveis posteriormente.
- audited - é uma extensão ORM que registra todas as alterações em seus modelos.
- exception_notification - Enviar notificações quando ocorrem erros em uma aplicação Rack/Rails.
- whenever - É uma gem Ruby que fornece uma sintaxe clara para escrever e implantar tarefas cron.
- cocoon - O Cocoon facilita o manuseio de formulários aninhados.
- kaminari - Um paginador baseado em Scope & Engine, limpo, poderoso, personalizável e sofisticado para estruturas modernas de aplicativos da Web e ORMs.
- array_enum - A extensão para ActiveRecordisso adiciona suporte para PostgreSQLcolunas de matriz, mapeando valores de string para inteiros.
- auto_increment - auto_increment fornece incrementação automática para campos inteiros ou strings no Rails.
- wicked_pdf - Wicked PDF usa o utilitário shell wkhtmltopdf para servir um arquivo PDF para um usuário de HTML.
- protokoll - Protokoll é um plug-in Rails simples para simplificar o gerenciamento de um valor de autoincremento personalizado para um modelo.
- seed_migration - Uma biblioteca de migração de dados, semelhante à migração de esquema integrada do Rails.
-
Segurança:
- brakeman - Brakeman é uma ferramenta de análise estática que verifica os aplicativos Ruby on Rails em busca de vulnerabilidades de segurança.
- rack-attack - Rack::Attack permite que você decida facilmente quando permitir , bloquear e acelerar com base nas propriedades da solicitação.
-
Teste:
- rspec-rails - é uma biblioteca (gem) que facilita a prática de testes em aplicações Ruby ou Rails
- shoulda - Shoulda ajuda você a escrever testes específicos do Rails mais compreensíveis e sustentáveis sob Minitest e Test::Unit.
- factory_bot_rails
- faker - É uma biblioteca para gerar dados falsos, como nomes, endereços e números de telefone.
- Este projeto foi desenvolvido com base no template do mattbrictson/rails-template. Agradeço aos criadores do template por fornecerem uma estrutura sólida e inspiração para este template.