📖 Documentação: Gestor de Pedidos iFood
Bem-vindo à documentação oficial do Gestor de Pedidos iFood. Este projeto é uma implementação robusta e eficiente para monitoramento, aceitação e gestão de pedidos realizados através da plataforma iFood Merchant API.
🎯 Objetivo
Facilitar a vida do lojista fornecendo uma interface centralizada (TUI) e automações de segundo plano que garantem que nenhum pedido passe despercebido, permitindo a confirmação, cancelamento e impressão de forma instantânea.
🏗️ Arquitetura do Projeto
O projeto é dividido em camadas modulares para facilitar a manutenção e escalabilidade:
1. Camada de API (ifood/api/)
Contém o IfoodApiClient, responsável por todas as requisições HTTP, gestão de headers dinâmicos (Device ID) e endpoints de pedidos.
2. Camada de Autenticação (ifood/auth/)
Implementa o fluxo Keycloak PKCE + OTP. Esta camada garante que o acesso seja renovado automaticamente sem intervenção humana após o login inicial.
3. Interface de Usuário (ifood/tui/)
Nossa interface moderna construída com Textual.
- Dashboard: Visão geral de novos pedidos e estatísticas.
- OrderCard: Resumo visual individual de cada pedido.
- DetailPanel: Painel dinâmico com todas as informações do pedido e botões de ação (Confirmar, Cancelar, Imprimir).
4. Serviços de Apoio (ifood/services/ & ifood/core/)
- Logger: Sistema de log rotativo para auditoria.
- Printer: Controlador de impressão térmica via socket/HTTP.
- HTTP: Sessão base com lógica de retry automático.
🚀 Fluxos Principais
- Processo de Autenticação: Como simulamos o login do portal para obter acesso total.
- Gestão de Pedidos: Detalhes sobre polling, confirmação e cancelamento.
- Notificações & Impressão: Como configurar os alertas externos e a impressora física.
🛠️ Configuração de Desenvolvimento
Para contribuir com o projeto, siga o guia de instalação no README.md.
Documentação gerada automaticamente para o GitHub Pages.