Postman: https://drive.google.com/drive/folders/1EpayawVPL7cSGiYeytCUsy80UtX5iIgw?usp=share_link

  1. Vamos entender aqui o backend através das rotas que temos. Começaremos acessando o arquivo “router.js”, que é onde a gente vai se interessa.

  2. Nós vamos ver que começamos pelo post de login e registro, que será por onde começaremos a trabalhar com o backend, pela sua autenticação

    router.post("/login", authController.login)
    router.post("/register", authController.register)
    
  3. Você pode notar que nós temos o método que estamos utilizando “.post”, precisamos lembrar disso para usar da forma correta na hora de conectar com o front.

  4. Em seguida nós vamos ter a rota e como vamos usar ela “/login”

  5. Logo depois nós temos de onde vem o método que estamos usando, nesse caso de dentro de authController, que caso você queira ver o arquivo, basta você ver na linha de importação de onde ele vem, nesse caso do auth, na linha 3.

  6. Podemos ver que ele está dentro da pasta controllers no arquivo auth-controller, e aí podemos acessar lá para ver o método se quisermos.

  7. E isso se repete para as demais funções do app. Em seguida temos a categoria, que serão fixas, e eu vou passar para você essas categorias.

    router.get("/categories", categoriesController.index)
    
  8. Vamos ter toda a lógica de produtos, com diversos métodos e essa será a segunda coisa que vamos mexer no app.

    router.get("/products", productsController.index)
    router.get("/products/search", productsController.search)
    router.post("/products", withAuth, productUpload.array("images", 6), productsController.save)
    router.put("/products/:_id", withAuth, productsController.update)
    router.put("/products/:_id/images", withAuth, productUpload.array("newImages", 6), productsController.updateImages)
    router.delete("/products/:_id", withAuth, productsController.delete)
    
  9. Você pode notar que nessas rotas temos um método adicional, que é o “withAuth”, significa que essas rotas são protegidas por autenticação, e vão precisar de um token.

  10. Temos abaixo as rotas de profile, que são também protegidas e vão servir para termos acesso as informações do usuário e suas atualizações

    router.put("/profile", withAuth, profilesController.update)
    router.put("/profile/password", withAuth, profilesController.updatePassword)
    router.get("/users/:_id", withAuth, usersController.show)
    
  11. Abaixo temos os endereços, que são ligados com os usuários

    router.get("/addresses", withAuth, addressesController.index)
    router.post("/addresses", withAuth, addressesController.save)
    router.delete("/addresses/:_id", withAuth, addressesController.delete)
    
  12. Temos os favoritos dos produtos

    router.get("/favorites", withAuth, favoritesController.index)
    router.post("/favorites", withAuth, favoritesController.add)
    router.delete("/favorites/:product_id", withAuth, favoritesController.remove)
    
  13. E por fim as avaliações do usuário e também as conversas

    router.post("/ratings", withAuth, ratingsController.rate)
    
    router.get("/conversations", withAuth, conversationsController.index)
    router.post("/conversations", withAuth, conversationsController.save)
    router.post("/conversations/:_id/send", withAuth, conversationsController.send)
    
  14. Nós vamos seguir basicamente na ordem que temos aqui na hora de criar, e caso você queira ter acesso ao postman do backend para fazer testes individuais com as rotas, aq esta: https://drive.google.com/drive/folders/1EpayawVPL7cSGiYeytCUsy80UtX5iIgw?usp=share_link

  15. E aí basta você importar e usar.