Go to file

🚛 Gade Logística — Sistema de Controle de Custos

Sistema web para controle de custos de entregas hospitalares da Gade Hospitalar.

Stack: Ruby on Rails 7+ · PostgreSQL 15 · Docker · Tailwind CSS · Hotwire


🚀 Setup rápido (Docker)

1. Clone o repositório

git clone https://git.xenserver.com.br/[USUARIO]/logistica-controle-custos.git
cd logistica-controle-custos

2. Configure o ambiente

cp .env.example .env
# Edite .env com suas credenciais reais
nano .env

3. Gere o SECRET_KEY_BASE

docker run --rm ruby:3.2.2-slim bundle exec rails secret
# Cole o valor gerado no .env → SECRET_KEY_BASE=...

4. Suba os containers

docker-compose up -d

5. Crie o banco e rode as migrations

docker-compose exec app bundle exec rails db:create db:migrate db:seed

6. Acesse

http://localhost:3000
Login: admin@gade.com
Senha: Gade@2026!  ← ALTERE NO PRIMEIRO ACESSO

⚠️ Banco de dados existente

A tabela public.db_reem_simplerout_2026 já existe no PostgreSQL da Gade Hospitalar e é atualizada automaticamente a cada 1 hora por outro sistema.

NUNCA execute: DROP TABLE, TRUNCATE, DELETE ou migrations nessa tabela.

Se o banco existente estiver em servidor separado, configure DB_HOST no .env apontando para o IP/hostname correto.


🔧 Comandos úteis

# Rodar migrations
docker-compose exec app bundle exec rails db:migrate

# Rodar seeds
docker-compose exec app bundle exec rails db:seed

# Console Rails
docker-compose exec app bundle exec rails console

# Logs da app
docker-compose logs -f app

# Parar containers
docker-compose down

🏗️ Fases de implementação

Fase Status Descrição
1 Setup + Docker + Git + Models + Migrations
2 Auth (Devise/Pundit) + Perfis + Configurações
3 Dashboard com métricas e gráficos
4 Job de atualização automática (1h) + Auditoria
5 Consolidação — wizard Passo 1
6 Validação de entregas + toggles + ações em massa
7 Geração de PDFs (relatório + holerite)
8 Painel motorista + notificações + finalização

🔐 Segurança

  • NUNCA versione o arquivo .env
  • NUNCA commite config/master.key ou credenciais
  • Repositório deve ser marcado como PRIVADO
  • Use ENV['VARIAVEL'] no código — nunca hardcode senhas

👥 Perfis de acesso

Perfil Acesso
Admin Tudo
Gerente Dashboard + Consolidações + PDFs
Operador Consolidações (criar + validar)
Motorista Painel pessoal + baixar próprio PDF
Description
No description provided
Readme 27 MiB
Languages
HTML 87%
Ruby 11.5%
JavaScript 1.3%
Shell 0.2%