jucagolddev /
TiendaOnlineConApiRestYClienteHtml
Aplicación web completa utilizando HTML, JavaScript (con LocalStorage), y PHP para crear una tienda online. (Inspirada en pcComponentes)
34/100 healthLoading repository data…
Syxh0wN / repository
API REST completa para sistema de delivery de comida. Marketplace que conecta clientes com lojas, desenvolvido em Node.js + TypeScript + Express + PostgreSQL. Inclui autenticação, gestão de lojas/produtos, carrinho, cupons, pagamentos e notificações.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Uma API completa para sistema de delivery de comida, desenvolvida com Node.js, TypeScript e PostgreSQL. Esta aplicação oferece uma solução robusta para gerenciamento de pedidos, lojas, produtos, carrinho de compras e muito mais.
src/
├── controllers/ # Controladores da API
├── services/ # Lógica de negócio
├── routes/ # Definição de rotas
├── middleware/ # Middlewares personalizados
├── types/ # Definições TypeScript
├── config/ # Configurações
├── docs/ # Documentação Swagger
└── tests/ # Testes automatizados
git clone https://github.com/seu-usuario/api-myfood.git
cd api-myfood
npm install
cp .env.example .env
Edite o arquivo .env com suas configurações:
# Banco de dados
DATABASE_URL="postgresql://usuario:senha@localhost:5432/myfood"
# JWT
JWT_SECRET="seu-jwt-secret-aqui"
# Redis (opcional)
REDIS_URL="redis://localhost:6379"
# Servidor
PORT=3010
NODE_ENV=development
# Gerar o cliente Prisma
npx prisma generate
# Executar migrações
npx prisma migrate dev
# (Opcional) Popular com dados de exemplo
npx prisma db seed
# Desenvolvimento
npm run dev
# Produção
npm run build
npm start
Acesse a documentação completa da API em:
http://localhost:3010/api/docs
POST /api/auth/register - Registrar usuárioPOST /api/auth/login - Fazer loginGET /api/auth/profile - Obter perfilPOST /api/auth/refresh - Renovar tokenGET /api/stores - Listar lojasPOST /api/stores - Criar lojaGET /api/stores/:id - Obter lojaPUT /api/stores/:id - Atualizar lojaDELETE /api/stores/:id - Excluir lojaGET /api/products - Listar produtosPOST /api/products - Criar produtoGET /api/products/:id - Obter produtoPUT /api/products/:id - Atualizar produtoDELETE /api/products/:id - Excluir produtoGET /api/cart - Obter carrinhoPOST /api/cart/items - Adicionar itemPUT /api/cart/items/:id - Atualizar itemDELETE /api/cart/items/:id - Remover itemGET /api/orders - Listar pedidosPOST /api/orders - Criar pedidoGET /api/orders/:id - Obter pedidoPATCH /api/orders/:id/cancel - Cancelar pedidoGET /api/stores/:storeId/orders - Listar pedidos da lojaPATCH /api/stores/:storeId/orders/:id/status - Atualizar status do pedidoGET /api/stores/:storeId/orders/summary - Resumo dos pedidos da lojaGET /api/coupons/active - Listar cupons ativosGET /api/coupons/code/:code - Obter cupom por códigoPOST /api/coupons/validate - Validar cupomGET /api/coupons - Listar todos os cuponsPOST /api/coupons - Criar cupomGET /api/coupons/:id - Obter cupom por IDPUT /api/coupons/:id - Atualizar cupomDELETE /api/coupons/:id - Excluir cupomGET /api/coupons/:id/usage - Histórico de uso do cupomGET /api/stores/:storeId/coupons - Listar cupons da lojaPOST /api/stores/:storeId/coupons - Criar cupom para lojaGET /api/reviews - Listar avaliaçõesPOST /api/reviews - Criar avaliaçãoGET /api/reviews/:id - Obter avaliação por IDPUT /api/reviews/:id - Atualizar avaliaçãoDELETE /api/reviews/:id - Excluir avaliaçãoGET /api/stores/:storeId/reviews - Listar avaliações da lojaGET /api/stores/:storeId/reviews/summary - Resumo das avaliaçõesGET /api/favorites - Listar favoritosPOST /api/favorites - Adicionar favoritoGET /api/favorites/:id - Obter favorito por IDPUT /api/favorites/:id - Atualizar favoritoDELETE /api/favorites/:id - Remover favoritoPOST /api/favorites/toggle/:type/:itemId - Alternar favoritoGET /api/favorites/status/:type/:itemId - Verificar status de favoritoGET /api/favorites/lists - Listar listas de favoritosPOST /api/favorites/lists - Criar lista de favoritosGET /api/favorites/lists/:id - Obter lista por IDPUT /api/favorites/lists/:id - Atualizar listaDELETE /api/favorites/lists/:id - Excluir listaGET /api/favorites/stats - Estatísticas de favoritosGET /api/favorites/recommendations - RecomendaçõesGET /api/favorites/export - Exportar favoritosPOST /api/delivery/tracking - Criar rastreamentoPUT /api/delivery/tracking/:trackingId/status - Atualizar status de entregaGET /api/delivery/tracking/order/:orderId - Obter rastreamento por pedidoGET /api/delivery/tracking/code/:trackingCode - Obter rastreamento por códigoGET /api/delivery/estimate/:orderId - Calcular estimativa de entregaGET /api/delivery/stats - Estatísticas de entrega (admin)GET /api/delivery/improvement-stats - Estatísticas de melhoria (admin)GET /api/delivery - Listar entregasPOST /api/delivery/persons - Criar entregador (admin)PUT /api/delivery/persons/:deliveryPersonId - Atualizar entregador (admin)GET /api/delivery/persons - Listar entregadores (admin)GET /api/users/profile - Obter perfil do usuárioPUT /api/users/profile - Atualizar perfilGET /api/users/addresses - Listar endereçosPOST /api/users/addresses - Adicionar endereçoPUT /api/users/addresses/:addressId - Atualizar endereçoDELETE /api/users/addresses/:addressId - Excluir endereçoPATCH /api/users/addresses/:addressId/default - Definir endereço padrãoPOST /api/chat/rooms/:orderId - Criar sala de chat para pedidoPOST /api/chat/messages - Enviar mensagemGET /api/chat/rooms/:orderId/messages - Obter histórico de mensagensPUT /api/chat/rooms/:orderId/read - Marcar mensagens como lidasGET /api/chat/rooms - Listar salas de chat do usuárioGET /api/chat/rooms/:orderId - Obter sala de chat específicaGET /api/chat/stats - Estatísticas de chatPUT /api/chat/rooms/:orderId/close - Fechar sala de chat (apenas loja)POST /api/chat/system-messages - Enviar mensagem do sistema (admin/loja)POST /api/notifications/send - Enviar notificação (admin/loja)POST /api/notifications/send-bulk - Enviar notificação em massa (admin)PUT /api/notifications/preferences - Atualizar preferências de notificaçãoPUT /api/notifications/fcm-token - Atualizar token FCMGET /api/notifications/history - Histórico de notificaçõesGET /api/notifications/preferences - Obter preferências de notificaçãoGET /api/reports/sales - Relatório de vendasGET /api/reports/orders - Relatório de pedidosGET /api/reports/users - Relatório de usuáriosGET /api/reports/stores - Relatório de lojasGET /api/reports/products - Relatório de produtosGET /api/reports/dashboard - Dashboard de relatóriosGET /api/history - Listar históricoGET /api/history/:id - Obter item do históricoGET /api/history/export - Exportar históricoPOST /api/uploads/upload - Upload de arquivo únicoPOST /api/uploads/upload-multiple - Upload de múltiplos arquivosPOST /api/uploads/presigned-url - Gerar URL pré-assinadaDELETE /api/uploads/delete - Deletar arquivoGET /api/uploads/list - Listar arquivos do usuárioPOST /api/uploads/variants/:key - Gerar variantes de imagemPOST /api/uploads/avatar - Upload de avatarPOST /api/uploads/product/:productId - Upload de imagem de produtoPOST /api/uploads/store/:storeId - Upload de imagem de lojaPOST /api/uploads/banner - Upload de banner (admin)POST /api/payment-intent - Criar intenção de pagamentoPOST /api/confirm/:paymentIntentId - Confirmar pagamentoPOST /api/refund - Criar reembolsoGET /api/status/:paymentIntentId - Status do pagamentoPOST /api/webhook - Webhook de pagamentoA API utiliza JWT para autenticação. Inclua o token no header:
Authorization: Bearer seu-token-aqui
# Todos os testes
npm test
# Testes com coverage
npm run test:coverage
# Testes em modo watch
npm run test:watch
NODE_ENV=production
DATABASE_URL="sua-url-de-producao"
JWT_SECRET="seu-jwt-secret-forte"
REDIS_URL="sua-url-redis-producao"
# Build para produção
npm run build
# Iniciar em produção
npm start
git checkout -b feature/nova-feature)git commit -m 'Adiciona nova feature')git push origin feature/nova-feature)Selected from shared topics, language and repository description—not editorial ratings.
jucagolddev /
Aplicación web completa utilizando HTML, JavaScript (con LocalStorage), y PHP para crear una tienda online. (Inspirada en pcComponentes)
34/100 health9Neres /
Projeto educacional desenvolvido no curso da DIO, implementando uma REST API em Spring Boot com documentação automática via Swagger/OpenAPI. Inclui operações completas de CRUD de usuários, tratamento de exceções, validações e interface Swagger UI para testar endpoints de forma prática em http://localhost:8080/swagger-ui/index.html.
34/100 healthVinifernandes05 /
Desenvolvi um sistema em JavaScript, HTML e CSS, além de Node.js e Express.js de frameworks, implementando uma API REST e operações completas de CRUD.
NinoMiquelino /
Construção de uma API RESTful completa em PHP puro (sem frameworks). Implementa CRUD usando PDO/SQLite e roteamento baseado em métodos HTTP (GET, POST, PUT, DELETE).
51/100 healthGabrielaVilaro /
Framework test sobre APIs, del curso de Udemy https://www.udemy.com/course/la-guia-completa-test-de-api-rest-con-python/ usando Python - Pytes - Allure - Pdoc entre otras librerías
15/100 healthAmandaleitedsm /
API desenvolvida em ASP.NET C# com banco de dados MySQL, voltada para o gerenciamento de alunos e cursos. O projeto inclui rotas completas de CRUD, dados seed automáticos, testes unitários e de integração, além de um frontend leve em HTML/JS executado via live-server.
34/100 health