Sistema de Gestão de Clientes e Compromissos
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
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
Parte Administrativa (Painel)
Acesso ao painel protegido por e-mail e senha.
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.
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.
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.