Compare commits

..

No commits in common. "b4c6bb4ba10e11afdd258ed87edf1c5da202e956" and "d467e3dadecec7fa0021b50f05c3d8064d06ef5b" have entirely different histories.

6 changed files with 77 additions and 66 deletions

View File

@ -1,17 +0,0 @@
# Deploy (docker-compose) environment variables
# Postgres (used by postgres service)
POSTGRES_USER=omnichannel
POSTGRES_PASSWORD=change-me
POSTGRES_DB=omnichannel
# App database connection (used by backend)
DB_HOST=postgres
DB_PORT=5432
DB_USER=omnichannel
DB_PASSWORD=change-me
DB_NAME=omnichannel
# Ports (optional, if you want to reference in compose later)
FRONTEND_PORT=3000
BACKEND_PORT=3001

View File

@ -1,29 +1,89 @@
# Omnichannel Sothis - Deploy
# Omnichannel Sothis
Este repositorio e o **deploy** do ecossistema. Ele **nao** contem o codigo do frontend nem do backend em producao. Esses dois sao repositorios separados e devem ser clonados ao lado deste deploy para subir o ambiente completo.
Protótipo visual do frontend MVP do sistema Omnichannel da Sothis.
## Estrutura esperada (3 repositorios)
O foco desta versão é apresentação de produto: a aplicação simula fluxos reais de atendimento com dados mockados, UX moderna e navegação entre telas principais.
- `deploy/` (este repo): `docker-compose.yml`, `database/`, `.gitignore`, `README.md`
- `frontend/`: interface do produto
- `backend/`: API e regras de negocio
## O que existe hoje
## Como subir tudo localmente
- Frontend em React + Vite dentro de `frontend/`
- Docker Compose na raiz para subir o frontend desta apresentação
- Telas implementadas:
- Login
- Home / Dashboard
- Chat
- Call / Softphone mock
- Novo Atendimento
Passo a passo (na mesma pasta raiz):
## Estrutura esperada do ecossistema
1. Clonar o repo de deploy na raiz (.)
2. Clonar o repo de frontend na pasta `frontend`
3. Clonar o repo de backend na pasta `backend`
4. Subir tudo:
Hoje este repositório cobre o frontend e um `docker-compose.yml` local para desenvolvimento/apresentação.
Para rodar o ambiente completo no futuro, a separação esperada é:
- `frontend`: interface do produto
- `backend`: API e regras de negócio
- `deploy`: repositório raiz de infraestrutura/orquestração, onde ficará o `docker-compose` final com frontend, backend, banco e demais serviços
## Como rodar somente o frontend
### Opção 1: com Docker
Na raiz deste projeto:
```bash
docker compose up -d --build
```
Isso sobe `frontend`, `backend` e `database` em uma unica operacao.
Depois acesse:
## Observacoes
```text
http://localhost:3000
```
- O `docker-compose.yml` deste repo espera `frontend/` e `backend/` presentes na mesma raiz.
- Em producao, o fluxo pode mudar para imagens pre-buildadas, mas para desenvolvimento local esta estrutura funciona bem.
### Opção 2: com Node local
Entre na pasta do frontend:
```bash
cd frontend
npm install
npm run dev
```
Depois acesse:
```text
http://localhost:3000
```
## Como gerar build do frontend
```bash
cd frontend
npm run build
```
## Para rodar o ambiente completo
Quando a solução estiver separada em múltiplos repositórios, o fluxo esperado será:
1. Fazer `pull` do repositório `frontend`
2. Fazer `pull` do repositório `backend`
3. Fazer `pull` do repositório `deploy`
4. Entrar no repositório `deploy` (raiz de infraestrutura)
5. Subir tudo com:
```bash
docker compose up -d --build
```
Em outras palavras: o `docker compose` definitivo do ambiente completo deve ser executado a partir do repositório `deploy`, que será a raiz de orquestração.
## Documentação
A documentação funcional do frontend está em [`frontend/docs`](./frontend/docs):
- visão geral do projeto
- documentação por módulo/tela
- documentação em formato narrativo/RPG para explicar os casos de uso

View File

View File

@ -1 +0,0 @@
ssh desenvolvimento@10.0.120.75 -p 60000 "/home/desenvolvimento/scripts/deploy-omnichannel-dev.sh"

View File

@ -4,35 +4,4 @@ services:
context: ./frontend
dockerfile: Dockerfile
ports:
- "4000:3000"
backend:
build:
context: ./backend
dockerfile: Dockerfile
ports:
- "4001:3001"
env_file:
- .env.development
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
restart: always
env_file:
- .env.development
ports:
- "5434:5432"
volumes:
- pgdata:/var/lib/postgresql/data
- ./database/init:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
pgdata:
- "3000:3000"