Essa API de e-commerce serverless foi construída com Cloudflare Workers e Workers KV, projetada para operar no tier gratuito da Cloudflare (100.000 requisições/dia e 1 GB de armazenamento KV). Implementa autenticação, gestão de produtos, carrinho e pedidos, com documentação interativa via Swagger UI. Desenvolvida em TypeScript, demonstra escalabilidade, tipagem forte e integração com armazenamento distribuído."
-
🛡️ Autenticação Simples (
/auth- GET)- Gera ou utiliza um ID de usuário baseado no header
X-User-ID. - Exemplo de resposta:
{ "userId": "user-abc123" }.
- Gera ou utiliza um ID de usuário baseado no header
-
🛒 Gestão de Produtos (
/products- GET e POST)GET: Lista todos os produtos armazenados no Workers KV.POST: Adiciona um novo produto ao catálogo, validandoid,name,priceestock.- Exemplo de corpo:
{ "id": "1", "name": "Camiseta", "price": 29.99, "stock": 100 }.
-
🛍️ Gestão de Carrinho (
/cart- GET e POST)GET: Retorna os itens no carrinho de um usuário específico.POST: Adiciona um item ao carrinho, validandoproductIdequantity.- Exemplo de corpo:
{ "productId": "1", "quantity": 2 }.
-
📦 Processamento de Pedidos (
/orders- POST)- Finaliza o pedido do usuário, verifica estoque, calcula o total, atualiza estoque e salva o pedido.
- Exemplo de resposta:
{ "id": "1647830400000", "userId": "user1", "items": [{ "productId": "1", "quantity": 2 }], "total": 59.98, "date": "2025-03-19T12:00:00.000Z" }
-
📖 Documentação Interativa (
/docs- GET)- Interface Swagger UI documenta e permite testar os endpoints diretamente no navegador.
- 💾 Armazenamento: Workers KV armazena produtos, carrinhos e pedidos em JSON.
- ☁️ Serverless: Executa no Cloudflare Workers, sem necessidade de servidor físico.
- 📘 Swagger UI: Interface gráfica para testar a API, gerada a partir de um objeto OpenAPI em JavaScript.
- Uso de Cloudflare Workers para construir aplicações escaláveis e de baixo custo.
- Impacto: Demonstra experiência com computação sem servidor.
- Tipagem forte e desenvolvimento robusto.
- Impacto: Código seguro e manutenível, usando interfaces para produtos, carrinhos e pedidos.
- Uso de Workers KV para persistência de dados.
- Impacto: Capacidade de gerenciar estado sem bancos de dados tradicionais.
- Endpoints estruturados seguindo padrões REST.
- Impacto: Demonstra conhecimento em arquitetura de APIs modernas.
- Swagger UI integrado para documentação interativa.
- Impacto: Facilita uso por outros desenvolvedores.
- Solução de problemas de parsing no Swagger UI.
- Impacto: Resiliência e pensamento analítico.
- Uso do Wrangler CLI para deploy e Swagger UI para documentação.
- Impacto: Familiaridade com o ecossistema Cloudflare.
- README.md bem estruturado e separação modular do código.
- Impacto: Evidencia organização e boas práticas de desenvolvimento.
- 🌍 Cloudflare Workers
- 💾 Workers KV
- 📌 TypeScript
- 📖 OpenAPI/Swagger UI
- ⚡ Wrangler CLI
- ✅ Autenticação dinâmica de usuários.
- ✅ CRUD básico de produtos.
- ✅ Gerenciamento de carrinho por usuário.
- ✅ Processamento de pedidos com atualização de estoque.
- ✅ Interface Swagger para testes interativos.
- 🚀 Deploy: [URL do deploy, ex.: https://mercado-global-api.queirozdouglas466.workers.dev/docs]
- 📂 Repositório: [Link do GitHub]
"Resolvi problemas de parsing no Swagger UI adaptando a geração de especificações de YAML para JSON dinâmico, garantindo robustez no tier gratuito da Cloudflare."