Aplicação que classifica emails como Produtivo ou Improdutivo e sugere respostas automáticas.
Funciona com emails enviados por texto ou arquivo (.txt / .pdf).
- Backend: Python 3 + FastAPI
- Frontend: React, TypeScript, Tailwind CSS
- Python >= 3.10
- Node.js >= 18
- pip
- npm ou yarn
- Git
Clone o repositório:
git clone https://github.com/dev-LBAM/autou-email-processor.git
cd autou-email-processorO backend requer uma chave da OpenAI para funcionar. Crie um arquivo .env na pasta do backend:
OPENAI_API_KEY=your_openai_api_key_here
FRONTEND_ORIGIN=http://localhost:5173Obtenha sua chave aqui: OpenAI, e o FRONTEND_ORIGIN copie o mesmo que está ali, pois ao iniciar o nosso frontend ele vai permitir o consumo do nosso backend.
Com o terminal no diretorio raiz do projeto ../autou-email-processor/ digite:
cd backend
pip install -r requirements.txt
uvicorn main:app --reload-
Endpoints principais:
-
POST /process_email → processa email em texto
-
POST /process_email/file → processa email via arquivo .txt ou .pdf
-
-
Documentação interativa (Swagger UI) disponível em:
http://127.0.0.1:8000/docs
- Exemplo de requisição:
curl -X POST http://127.0.0.1:8000/process_email \
-H "Content-Type: application/json" \
-d '{"content": "Exemplo de email"}'O frontend requer a URL do backend para usar suas funcionalidades. Crie um arquivo .env na pasta do frontend:
VITE_BACKEND_URL=http://127.0.0.1:8000Com o terminal no diretorio raiz do projeto ../autou-email-processor/ digite:
cd frontend
npm install
npm run devAbra no navegador: http://localhost:5173/
-
Escolha o modo de envio: Texto ou Arquivo
-
Digite o email ou selecione o arquivo
-
Clique em Enviar (botão desativado durante processamento)
-
Clique em Cancelar para interromper processamento se necessário
-
Visualize histórico e copie respostas sugeridas
-
Clique em Mostrar mais para expandir o histórico
-
Apenas arquivos .txt e .pdf são aceitos
-
Cancelamento interrompe a requisição e mostra “Processamento cancelado.”
-
Histórico é salvo no localStorage, mantendo os dados entre sessões
-
O backend deve estar rodando localmente na porta 8000 para que o frontend funcione corretamente