Skip to content

LucasAzoli/client-administration

Repository files navigation

Sistema de Gestão de Clientes e Compromissos

Como Rodar Localmente

  • Instale dependências:
bundle install
yarn install
  • Crie o banco e rode migrate
bin/rails db:create db:migrate
  • Rode as fixture para ter dois usuarios (opcional)
bundle exec rails db:fixtures:load
Email Senha
um@example.com password
dois@example.com password
  • Inicie o Projeto
bin/dev

Tecnologias Utilizadas

  • Backend: Ruby on Rails 8.0
  • Frontend: Tailwind CSS, StimulusJS
  • Banco de Dados: PostgreSQL
  • Background Jobs: Sidekiq
  • Testes: Capybara, RSpec
  • Containerização: Docker
  • Deploy / Gerenciamento de servidores: Kamal

Funcionalidades

Parte Administrativa (Painel)

Autenticação

  • Acesso ao painel protegido por e-mail e senha.

Importação de CSV

  • Upload de arquivo clientes.csv com campos: Nome, Endereço, Cidade, Estado, CEP, Telefone, CPF.
  • Normalização de dados:
    • Padronização de nomes.
    • Separação correta do endereço.
    • Formatação de telefones: (XX) XXXX-XXXX ou (XX) XXXXX-XXXX.
    • Formatação de CPF: XXX.XXX.XXX-XX.
    • Evita duplicidade de CPF na base.
  • Exemplo de registro normalizado:
Nome Endereço Cidade Estado CEP Telefone CPF
Fulano de Tal Rua das Coves 35 São Paulo SP 36026-500 (11) 3216-2035 071.020.298-24

Inclusão Manual de Clientes

  • Formulário com campos obrigatórios: Nome, Endereço, Cidade, Estado, CEP, Telefone e CPF.
  • Evita duplicidade de CPF.
  • Listagem de clientes com:
    • Busca por CPF, Nome ou Telefone.
    • Paginação.
    • Ordenação por Nome, Estado ou Data de Cadastro.

Compromissos

  • Cadastro de compromissos com:
    • Nome do compromisso.
    • Data de início e fim.
  • Regras:
    • Não permite conflitos de horário.
    • Mensagens claras em caso de erro.
  • Listagem de compromissos em tabela.

Parte Externa (Pública)

  • Acessível na raiz do domínio, sem autenticação.
  • Exibe em tempo real:
    • Quantidade total de clientes.
    • Quantidade de clientes com telefone duplicados.
    • Quantidade de clientes por estado.
  • Atualização dinâmica via WebSocket ou AJAX.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published