Skip to content

Script para criar projetos em Ruby on Rails para os futuros projetos da PMM.

License

Notifications You must be signed in to change notification settings

isaahmdantas/sigmun-rails

Repository files navigation

isaahmdantas/sigmun-rails

Descrição

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.

Requisitos

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

Instalação

Caso prefira rodar localmente é preciso realizar o clone do repositório para um diretório da sua preferência (git clone git@github.com: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

Utilização

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 

Mandeira rápida de gerar um crud:

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

Como gerar o datatable da classe

rails generate datatable Posts

Como gerar o arquivo de tradução da classe

  • Lembre-se: Ainda será necessário traduzir os atributos gramaticalmente.
rails generate tradutor Post

Como gerar o menu do crud no sidebar

rails generate menu Post 

Como atualizar a rota do crud incluindo as rotas de 'search' e a rota do 'datatable'

rails generate change_routes Post

NOTA: IMPORTANTE RODAR OS GERADORES APÓS O rails db:migrate

O que isso faz?

O template executará as seguintes etapas:

  1. Gera os arquivos e diretórios da aplicação com base nos estilos e componentes do sigmun-hero
  2. Gera toda configuração padrão dos projetos Rails
  3. Gerador para criar as classes Datatable dos Models
  4. Gerador para criar os arquivos de localização dos Models
  5. Gerador para inserir um item com o menu do crud
  6. Sistema de autenticação
  7. Área Administrativa e Site

Essas gems são adicionadas à pilha padrão do Rails

  • 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.

Créditos

  • 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.

About

Script para criar projetos em Ruby on Rails para os futuros projetos da PMM.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages