Initial commit - Fase 1: Setup Rails + Docker

This commit is contained in:
2026-06-10 17:40:07 -03:00
commit eb812868e5
30 changed files with 1390 additions and 0 deletions

113
README.md Normal file
View File

@@ -0,0 +1,113 @@
# 🚛 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
```bash
git clone https://git.xenserver.com.br/[USUARIO]/logistica-controle-custos.git
cd logistica-controle-custos
```
### 2. Configure o ambiente
```bash
cp .env.example .env
# Edite .env com suas credenciais reais
nano .env
```
### 3. Gere o SECRET_KEY_BASE
```bash
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
```bash
docker-compose up -d
```
### 5. Crie o banco e rode as migrations
```bash
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
```bash
# 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 |