Este projeto foi desenvolvido para o desafio técnico da ZapSign.
Aqui estão as principais funcionalidades implementadas, as dificuldades encontradas e pontos de melhoria — tudo descrito de forma honesta e transparente.
-
Modelos criados:
- Company (inclui campo
api_tokenpara integração com ZapSign) - Document (com campos para integração:
open_id,token, etc.) - Signer (relacionado a Document)
- Company (inclui campo
-
Integração com ZapSign:
- Ao criar um documento, o backend envia os dados para a API da ZapSign, recebe o token e o open_id, e armazena esses dados no banco.
-
Integração com IA:
- O backend tem um endpoint que faz análise do conteúdo do documento usando IA (ex: OpenAI/HuggingFace) e retorna tópicos faltantes, resumo e insights.
-
Endpoints RESTful:
- CRUD para Document implementado.
- Company e Signer estão parcialmente implementados (modelos e parte do CRUD).
-
Autenticação:
- Endpoints protegidos por token.
-
Testes automatizados:
- Exemplos de testes Pytest para rotas principais.
-
Setup e estrutura:
- Banco de dados PostgreSQL configurado.
- Migrations prontas.
- Instruções no README para rodar e testar o backend.
Não consegui finalizar o frontend.
- Criação de componentes standalone para Document (lista, formulário).
- Implementação de serviços Angular para consumir a API do backend.
- Tentativas de rodar como SPA (
ng serve) e SSR (ng run zapsign-frontend:serve-ssr), mas não funcionou devido a erros NG0401 e problemas de configuração.
- Erros recorrentes na configuração do Angular Standalone e SSR.
- Incompatibilidade de scripts e rotas.
- Investi bastante tempo tentando resolver, mas não consegui superar os problemas técnicos a tempo de entregar um frontend funcional.
- Aplicação Angular funcional rodando (SPA ou SSR).
- CRUD visual fluido, mensagens de sucesso/erro.
- Testes Jest no frontend.
- Painel visual de CRUD e integração com IA.
-
Clone o projeto
-
Configure o banco PostgreSQL
- Ajuste as credenciais no
.envousettings.py.
- Ajuste as credenciais no
-
Instale as dependências
pip install -r requirements.txt
-
Rode as migrations
python manage.py makemigrations python manage.py migrate
-
Inicie o servidor
python manage.py runserver
-
Importante:
Acesse o painel de administração Django pelo endereço
http://localhost:8000/admin/
O acesso porhttp://127.0.0.1:8000/admin/pode não funcionar corretamente, dependendo do ambiente ou navegador. -
Testar endpoints
- Use o DRF browsable API, Postman ou curl.
-
Testes automatizados
pytest
- ZapSign API:
- Criação de conta no sandbox, coleta de token, integração via endpoint REST (funciona no backend).
- IA para análise de documentos:
- Endpoint para análise automática de documentos usando IA (funciona no backend).
- Frontend Angular funcional:
- Não consegui entregar a interface fluida solicitada devido a problemas técnicos e limitações de tempo.
- CRUD completo para Company e Signer:
- Implementação parcial.
- Workflow n8n demonstrativo:
- Endpoints RESTful preparados, mas não montei o fluxo/exemplo.
- Dockerfile/docker-compose:
- Setup local planejado, mas não incluído explicitamente.
- Documentação detalhada de todos endpoints:
- Exemplos básicos disponíveis, mas sem documentação formal extensa.
- Angular SSR Standalone:
- Erros NG0401, scripts ausentes, incompatibilidade de configuração no Angular 17+.
- Build e scripts:
- Falha ao rodar scripts recomendados, problemas com package.json, incompatibilidade entre SPA, SSR e estrutura do projeto.
- Estrutura de arquivos Angular:
- Dificuldade em ajustar componentes, imports, rotas e bootstrap para rodar localmente.
- Cansaço e limitação de tempo:
- Investi várias horas tentando corrigir os problemas do frontend, o que impactou a entrega.
- Backend funcional, testável e integrado com ZapSign e IA.
- Endpoints RESTful e autenticação implementados.
- Testes automatizados no backend.
- Instruções claras para rodar e testar o sistema.
- Estrutura pronta para evolução futura.
- Refatorar/configurar o frontend Angular para rodar como SPA (sem SSR, se necessário).
- Finalizar CRUD visual para Company e Signer.
- Criar workflow n8n demonstrativo.
- Adicionar Dockerfile/docker-compose para facilitar setup local.
- Expandir testes automatizados e documentação.
Apesar das dificuldades técnicas, principalmente no frontend Angular, acredito que a entrega cobre as partes mais críticas do backend e integrações.
Fui transparente sobre os problemas encontrados e o que ficou pendente.
Agradeço pela oportunidade, estou disponível para explicar decisões, debugar ao vivo e seguir evoluindo o projeto.
Contato para dúvidas ou revisão:
- [nsdbferreira@gmail.com]
- Desde já, agradeço imensamente a oportunidade!