88 lines
2.7 KiB
Markdown
88 lines
2.7 KiB
Markdown
# Omnichannel Backend
|
|
|
|

|
|

|
|

|
|

|
|

|
|

|
|

|
|
|
|
Backend da plataforma Omnichannel da Sothis, responsavel por autenticacao, atendimento, integracao com WhatsApp, gestao administrativa, contatos, base de conhecimento e servicos de apoio ao painel web.
|
|
|
|
Este repositorio contem apenas a API. Para subir o projeto completo com frontend, backend e configuracao de deploy, utilize o repositorio de orquestracao:
|
|
|
|
https://chaleiradev.sothistelecom.com/Sothis/omnichannel-deploy
|
|
|
|
## Stack
|
|
|
|
- Node.js
|
|
- NestJS
|
|
- TypeScript
|
|
- PostgreSQL
|
|
- Socket.IO
|
|
- whatsapp-web.js
|
|
- JSON Web Token para autenticacao
|
|
- LDAP/AD e Microsoft OAuth como provedores de login configuraveis
|
|
|
|
## Documentacao da API
|
|
|
|
A documentacao detalhada das rotas fica disponivel no Swagger do backend no ambiente publicado.
|
|
|
|
Para documentacao tecnica complementar do backend, decisoes, modulos e operacao, acesse a wiki:
|
|
|
|
https://chaleiradev.sothistelecom.com/Sothis/omnichannel-backend/wiki
|
|
|
|
## Execucao local
|
|
|
|
Instale as dependencias:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
Crie o arquivo de ambiente a partir do exemplo:
|
|
|
|
```bash
|
|
cp .env.example .env.development
|
|
```
|
|
|
|
Configure as variaveis de banco, JWT, CORS e integracoes no `.env.development`.
|
|
|
|
Execute em modo desenvolvimento:
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
Por padrao, a API usa a porta configurada em `PORT` ou `BACKEND_PORT`. Se nenhuma variavel for definida, utiliza `3001`.
|
|
|
|
## Build e producao
|
|
|
|
Gere o build:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
Execute a versao compilada:
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
## Estrutura principal
|
|
|
|
- `src/infra`: configuracao, banco de dados, logger e infraestrutura compartilhada.
|
|
- `src/modules/auth`: autenticacao, JWT, LDAP/AD e Microsoft OAuth.
|
|
- `src/modules/admin`: recursos administrativos, base de conhecimento, contatos e controles de acesso.
|
|
- `src/modules/whatsapp`: conexao WhatsApp, QR Code, mensagens, transferencia e eventos em tempo real.
|
|
- `src/modules/attendance`: apoio as regras de atendimento.
|
|
- `src/modules/call`, `src/modules/chat` e `src/modules/home`: modulos de apoio as telas e fluxos do frontend.
|
|
|
|
## Observacoes
|
|
|
|
- O banco de dados nao e criado por este repositorio. A configuracao deve apontar para uma instancia PostgreSQL existente.
|
|
- Arquivos locais como `.env*`, logs, `dist`, dumps e sessoes do WhatsApp ficam fora do Git.
|
|
- Para operacao completa, deploy e atualizacao em producao, consulte o repositorio `omnichannel-deploy`.
|