a API do Cyclebox gerencia os produtos disponíveis na plataforma permitindo listar buscar criar atualizar e deletar produtos também inclui funcionalidades para autenticação de usuários e controle de permissões o projeto foi realizado durante o módulo avançado do curso de Fullstack do Capacita Brasil C-Jovem
- Base URL
- Rotas Protegidas
- Gerenciamento de Usuários
- Rotas Públicas
- Tecnologias Utilizadas
- Observações
- Método POST
- Rota /api/products
- Apenas administradores podem cadastrar novos produtos
- Middlewares authMiddleware adminMiddleware
Exemplo de Requisição
{
"nome": "Tênis Branco",
"descricao": "Tênis confortável tamanho 42",
"preco": 129.90,
"imagem": "https://linkdaimagem.com/tenis.jpg"
}- Método PUT
- Rota /api/products/:id
- Apenas administradores podem alterar nome preço e categoria de produtos
- Middlewares authMiddleware adminMiddleware
Exemplo de Requisição
{
"preco": 99.90
}- Método DELETE
- Rota /api/products/:id
- Apenas administradores podem remover produtos
- Middlewares authMiddleware adminMiddleware
Exemplo de Resposta
{}- Método POST
- Rota /api/users
- Apenas administradores podem criar novos usuários
- Middlewares authMiddleware adminMiddleware
- Método PUT
- Rota /api/users/:id
- Apenas administradores podem editar dados de usuários
- Middlewares authMiddleware adminMiddleware
- Método DELETE
- Rota /api/users/:id
- Apenas administradores podem remover usuários
- Middlewares authMiddleware adminMiddleware
- Método GET
- Rota /api/products
- Todos podem visualizar os produtos disponíveis
Exemplo de Resposta
[
{
"id": "1",
"nome": "Blusa Vintage",
"descricao": "Blusa de algodão estilo retrô",
"preco": 39.90,
"imagem": "https://linkdaimagem.com/blusa.jpg"
}
]- Método GET
- Rota /api/products/:id
- Todos podem visualizar detalhes de um produto
Exemplo de Resposta
{
"id": "1",
"nome": "Blusa Vintage",
"descricao": "Blusa de algodão estilo retrô",
"preco": 39.90,
"imagem": "https://linkdaimagem.com/blusa.jpg"
}- Node.js como ambiente de execução
- Express.js para gerenciar as rotas
- Prisma ORM para manipulação do banco de dados
- PostgreSQL como banco de dados principal
- Tembo.io para hospedagem do banco de dados na nuvem
- Axios para requisições HTTP
- JWT Json Web Token para autenticação de usuários
- Bcrypt.js para criptografia de senhas
- dotenv para gerenciamento de variáveis de ambiente
- express-validator para validação de dados nas requisições
- cors para habilitar compartilhamento de recursos entre origens diferentes
- pg cliente PostgreSQL para Node.js
- nodemon para reiniciar automaticamente o servidor durante o desenvolvimento
- As rotas protegidas precisam de autenticação e permissão de administrador
- Os dados podem ser alterados ou removidos a qualquer momento
- Se um produto não for encontrado a API retorna erro 404
Após o servidor estar rodando, a documentação da API estará disponível através do Swagger. Para acessá-la, abra seu navegador e vá para a URL: