
Introdução
Neste Screencast, dividido em 5 partes, nós vamos criar um sistema administrativo completo usando Rails Admin, neste exemplo vamos criar uma plataforma para que uma empresa possa gerenciar as vendas do seus representantes comerciais com dois tipos de usuário: gerente e vendedor. O vendedor poderá entrar com novas vendas, clientes e ver as suas comissões, o gerente poderá criar produtos, descontos e outros usuários.
Também vamos aprender a implementar uma série de features úteis e comuns à maioria dos APPs como autenticação usando Devise, autorização usando CanCanCan, filtro de registros baseado em quem é o dono deles, upload de fotos, customização da aparência e exportação de dados para PDF usando gráficos.
Este é o primeiro tutorial do OneBitCode dividido em vários episódios em vídeos para aumentar o detalhamento e simplificar a explicação, então se você gostar desse formato deixa um feedback ainda em baixo para eu saber e produzir mais conteúdo como este.
Episódios
-
- Criando a estrutura do nosso Projeto + Seed (assistir)
- Autenticação + Autorização + Filtrando os resultados (Disponível)
- Incluindo fotos + Atribuição automática de comissão (Em breve)
- Configurando o Rails Admin + Customizando a aparência (Em breve)
- Exportando para PDF com gráficos + Testando tudo isto (Em breve)
O que vamos Aprender?
-
- Como criar um sistema administrativo
- Como implementar a autenticação (Neste episódio)
- Como implementar a autorização (Neste episódio)
- Como filtrar para que os vendedores vejam apenas seus próprios clientes, vendas e comissões (Neste episódio)
- Como receber fotos no nosso sistema administrativo
- Como customizar a aparência do nosso sistema administrativo
- Como exportar para PDF e gerar gráficos
Ingredientes
-
- Ruby on Rails
- Sqlite3 (Mas você pode usar outro Database :))
- Gem: Rails Admin
- Gem: Rails Admin Rollincode
- Gem: Devise
- Gem: CanCanCan
- Gem: Carrierwave
Lista de comandos utilizados no Screencast parte 2
-
- Incluindo o Devise:
123# Gemfilegem 'devise'
1rails generate devise:install
1rails generate devise User
1234567# /config/initializers/rails_admin.rb## == Devise ==config.authenticate_with dowarden.authenticate! scope: :userendconfig.current_user_method(&:current_user)
123456789101112# /db/seeds.rbUser.create name: 'José', status: :active, kind: :salesman, email: 'salesman@teste.com', password: 123456User.create name: 'Manuel', status: :active, kind: :salesman, email: 'salesman2@teste.com', password: 123456User.create name: 'Marcos', status: :active, kind: :manager, email: 'manager@teste.com', password: 123456# Criando alguns produtos de exemploProduct.create name: 'Smartphone', description:'Um smartphone novo ...', status: :activeProduct.create name: 'Tablet', description:'Um tablet novo ...', status: :active# Criando um desconto de exemploDiscount.create name: 'Desconto carnaval', description: 'Aplique esse desconto no carnaval', value: '10', kind: :porcent, status: :active
1rake db:drop
1rake db:create
1rake db:migrate
1rake db:seed - Incluindo o CanCanCan + Filtrando o que os Users podem ver:
123# Gemfilegem 'cancancan', '~> 1.15.0'
1rails g cancan:ability
1234# /config/initializers/rails_admin.rb## == Cancan ==config.authorize_with :cancan -
1234567891011121314151617181920212223# app/models/ability.rbclass Abilityinclude CanCan::Abilitydef initialize(user)if userif user.kind == 'salesman'can :access, :rails_admincan :dashboardcan :manage, Client, user_id: user.idcan :manage, Sale, user_id: user.idcan :read, Product, status: :activecan :read, Discount, status: :activecan :read, Comission, user_id: user.idcan :manage, ProductQuantity, user_id: user.idcan :manage, Address, user_id: user.idelsif user.kind == 'manager'can :manage, :allendendendend
- Incluindo o Devise:

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/
Conclusão – Parte 2
Nesta parte nós incluímos o Devise para gerenciar o Login e Criação de Users no nosso Projeto, também incluímos o CanCanCan para gerenciar o que os nossos Users podem alterar no sistema (Filtrando também os records que eles conseguem ver na lista).
Veja a primeira parte da série aqui.
Você pode ver o código completo acessando o projeto no Github clicando aqui e escolhendo a branch “Part2”, aproveita e me segue lá também 🙂
Todos os outros 3 episódios da série sairão dentro dos próximos dias então não se esqueça de se cadastrar no canal do Youtube e habilitar as notificações.
Muito Obrigado por acompanhar este Blog!
Sua presença aqui é uma honra para mim,
Abraço,
Leonardo Scorza.
Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!
O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!
Fique por dentro de todos os conteúdos o/
Nossas redes sociais:
📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
📱 • https://instagram.com/one_bit_code
🐦 • best online dating sites for men
Nossos cursos:
🥇 • dating apps bloggers in san jose
💎 • my best friend is dating my ex boyfriend
⚙ • polish dating service in ny
🐞 • https://onebitcode.com/hot-adult-dating-spam/
Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
Estamos aqui para você 🙂
Bem-vindo à família OneBitCode o/