|
|
||
|---|---|---|
| .gitea/workflows | ||
| scripts | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| nest-cli.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| test-api.js | ||
| test-chats.js | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
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:
npm install
Crie o arquivo de ambiente a partir do exemplo:
cp .env.example .env.development
Configure as variaveis de banco, JWT, CORS e integracoes no .env.development.
Execute em modo desenvolvimento:
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:
npm run build
Execute a versao compilada:
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/chatesrc/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.