{"info":{"_postman_id":"f86fe16a-611b-4574-82df-d1fe507a4161","name":"projeto-api-orkut","description":"<html><head></head><body><p>Esta API simula uma rede social inspirada no Orkut, permitindo o cadastro de usuarios, autentificação, criação e gerenciamento de postagens.</p>\n<p>O sistema foi desenvolvido utilizando Node.js, Express.js e PostgresSQL, com foco na construção de uma API REST completa, incluindooperações de CRUD, validação de dados, autenticação e segurança.</p>\n<ul>\n<li><p>criação de rotas</p>\n</li>\n<li><p>integração com o banco de dados</p>\n</li>\n<li><p>validação com Joi</p>\n</li>\n<li><p>autenticação com JWT</p>\n</li>\n<li><p>criptografia de senha cpm Bcrypt</p>\n</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"52976105","collectionId":"f86fe16a-611b-4574-82df-d1fe507a4161","publishedId":"2sBXqCQPdq","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-15T16:47:59.000Z"},"item":[{"name":"https://api-orkut-c4js.onrender.com/usuarios","id":"dd2cdf90-6650-4258-ba2d-77db5d43206d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[],"url":"https://api-orkut-c4js.onrender.com/usuarios","description":"<p>Esta rota é responsavel por listar todos os usuarios cadastrados no sistema.</p>\n<p>Retornando os dados dos usuarios armazenados no banco de dados, permitindo visualizar informações como nome e email.</p>\n<p>Por segurança, a senha dos usuarios nao deve ser retornada na resposta.</p>\n","urlObject":{"protocol":"https","path":["usuarios"],"host":["api-orkut-c4js","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"e61e9a9b-831a-407a-889a-581fb9bd9039","name":"https://api-orkut-c4js.onrender.com/usuarios","originalRequest":{"method":"GET","header":[],"url":"https://api-orkut-c4js.onrender.com/usuarios"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Wed, 15 Apr 2026 15:33:21 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"6","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"access-control-allow-origin","value":"*","type":"text"},{"key":"Content-Encoding","value":"br","type":"text"},{"key":"etag","value":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\"","type":"text"},{"key":"rndr-id","value":"1614f592-945e-41a2","type":"text"},{"key":"vary","value":"Accept-Encoding","type":"text"},{"key":"x-powered-by","value":"Express","type":"text"},{"key":"x-render-origin-server","value":"Render","type":"text"},{"key":"cf-cache-status","value":"DYNAMIC","type":"text"},{"key":"Server","value":"cloudflare","type":"text"},{"key":"CF-RAY","value":"9ecc02150f660d27-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"[]"}],"_postman_id":"dd2cdf90-6650-4258-ba2d-77db5d43206d"},{"name":"https://api-orkut-c4js.onrender.com/usuarios","id":"3b90c846-2b85-480d-ba5a-0049694d64d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"nome\": \"carlos\",\r\n    \"email\": \"carlos@gmail.com\",\r\n    \"senha\": \"carlos10\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/usuarios","description":"<p>Esta rota é responsável por cadastrar um novo usuário na aplicação.<br />Os dados enviados são validados antes do processamento e a senha é protegida utilizando a biblioteca bcrypt, garantindo que não seja armazenada em formato texto no banco de dados.<br />Após o cadastro, o usuário poderá realizar autenticação na aplicação.</p>\n","urlObject":{"protocol":"https","path":["usuarios"],"host":["api-orkut-c4js","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"2c0eafcf-2da3-452e-8a17-474b46bf949d","name":"https://api-orkut-c4js.onrender.com/usuarios","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"nome\": \"carlos\",\r\n    \"email\": \"carlos@gmail.com\",\r\n    \"senha\": \"carlos10\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/usuarios"},"status":"Created","code":201,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Wed, 15 Apr 2026 15:37:31 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"186","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"access-control-allow-origin","value":"*","type":"text"},{"key":"Content-Encoding","value":"br","type":"text"},{"key":"etag","value":"W/\"d6-9NA7lwBlOGit7pN7d1VcTODFWrA\"","type":"text"},{"key":"rndr-id","value":"9d119b77-579e-4dd0","type":"text"},{"key":"vary","value":"Accept-Encoding","type":"text"},{"key":"x-powered-by","value":"Express","type":"text"},{"key":"x-render-origin-server","value":"Render","type":"text"},{"key":"cf-cache-status","value":"DYNAMIC","type":"text"},{"key":"Server","value":"cloudflare","type":"text"},{"key":"CF-RAY","value":"9ecc08323c19ad09-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensagem\": \"Usuário criado com sucesso\",\n    \"usuario\": {\n        \"id\": 1,\n        \"nome\": \"carlos\",\n        \"email\": \"carlos@gmail.com\",\n        \"senha\": \"$2b$10$lFCMuDpwWMdXnyPF4AXAr.1FPGF2K9eYx01PNfKUN0LNqdvy3zJ9S\",\n        \"criado_em\": \"2026-04-15T15:37:31.825Z\"\n    }\n}"}],"_postman_id":"3b90c846-2b85-480d-ba5a-0049694d64d1"},{"name":"https://api-orkut-c4js.onrender.com/login","id":"945546f0-a341-49d1-a59e-3883fda0c04d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"carlos@gmail.com\",\r\n    \"senha\": \"carlos10\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/login","description":"<p>Esta rota é responsável por realizar o login do usuário.</p>\n<p>O sistema verifica se o email existe e compara a senha informada com a senha criptografada utilizando bcrypt.</p>\n<p>Em caso de sucesso, é gerado um token de autenticação utilizando jsonwebtoken, que deverá ser utilizado nas próximas requisições para acessar rotas protegidas.</p>\n","urlObject":{"protocol":"https","path":["login"],"host":["api-orkut-c4js","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"5829ca91-48fa-457f-8954-a55e25b5d0d0","name":"https://api-orkut-c4js.onrender.com/login","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\":\"carlos@gmail.com\",\r\n    \"senha\": \"carlos10\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/login"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Wed, 15 Apr 2026 15:41:08 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"135","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"access-control-allow-origin","value":"*","type":"text"},{"key":"Content-Encoding","value":"br","type":"text"},{"key":"etag","value":"W/\"95-OpULVx4Q7vmyV8RRUoTsu8aGtbI\"","type":"text"},{"key":"rndr-id","value":"44635bc1-2707-45bd","type":"text"},{"key":"vary","value":"Accept-Encoding","type":"text"},{"key":"x-powered-by","value":"Express","type":"text"},{"key":"x-render-origin-server","value":"Render","type":"text"},{"key":"cf-cache-status","value":"DYNAMIC","type":"text"},{"key":"Server","value":"cloudflare","type":"text"},{"key":"CF-RAY","value":"9ecc0d7dcb39f262-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNzc2MjY3NjY4LCJleHAiOjE3NzYyNzEyNjh9.s_-CYKE3bI8IdUhvVapbUOiWEnxP-r5MxZw-XDw6GmI\"\n}"}],"_postman_id":"945546f0-a341-49d1-a59e-3883fda0c04d"},{"name":"https://api-orkut-c4js.onrender.com/posts","id":"723c3b84-1825-40eb-ac6c-6328fc93160b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"sextouuu\",\r\n    \"conteudo\": \"a aula de sexta foi top\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/posts","description":"<p>Esta rota é responsável por realizar o login do usuário.</p>\n<p>O sistema verifica se o email existe e compara a senha informada com a senha criptografada utilizando bcrypt.</p>\n<p>Em caso de sucesso, é gerado um token de autenticação utilizando jsonwebtoken, que deverá ser utilizado nas próximas requisições para acessar rotas protegidas.</p>\n","urlObject":{"protocol":"https","path":["posts"],"host":["api-orkut-c4js","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"0c660469-64ae-4d70-8a3e-c52ad7418b90","name":"https://api-orkut-c4js.onrender.com/posts","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"sextouuu\",\r\n    \"conteudo\": \"a aula de sexta foi top\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/posts"},"status":"Created","code":201,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Wed, 15 Apr 2026 15:44:16 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"144","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"access-control-allow-origin","value":"*","type":"text"},{"key":"Content-Encoding","value":"br","type":"text"},{"key":"etag","value":"W/\"a9-uP02JyyQtBVINcemLOthmiLW/g4\"","type":"text"},{"key":"rndr-id","value":"b9681892-ea34-4122","type":"text"},{"key":"vary","value":"Accept-Encoding","type":"text"},{"key":"x-powered-by","value":"Express","type":"text"},{"key":"x-render-origin-server","value":"Render","type":"text"},{"key":"cf-cache-status","value":"DYNAMIC","type":"text"},{"key":"Server","value":"cloudflare","type":"text"},{"key":"CF-RAY","value":"9ecc1214bad3d5e6-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensagem\": \"Post atualizado com sucesso\",\n    \"post\": {\n        \"id\": 1,\n        \"titulo\": \"sextouuu\",\n        \"conteudo\": \"a aula de sexta foi top\",\n        \"usuario_id\": 1,\n        \"criado_em\": \"2026-04-15T15:44:16.704Z\"\n    }\n}"}],"_postman_id":"723c3b84-1825-40eb-ac6c-6328fc93160b"},{"name":"https://api-orkut-c4js.onrender.com/posts/1","id":"456a18ff-bf51-4890-be28-a75316b288c9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"sextouuu, huhuhuhuhu\",\r\n    \"conteudo\": \"a aula de sexta foi top\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/posts/1","description":"<p>Esta rota é responsável por criar uma nova postagem.</p>\n<p>O usuário envia os dados da postagem, que são validados antes de serem armazenados no banco de dados. Cada postagem está associada a um usuário</p>\n","urlObject":{"protocol":"https","path":["posts","1"],"host":["api-orkut-c4js","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"fd91a014-309a-4f73-8968-c3c613eb451f","name":"https://api-orkut-c4js.onrender.com/posts/1","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"sextouuu, huhuhuhuhu\",\r\n    \"conteudo\": \"a aula de sexta foi top\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-c4js.onrender.com/posts/1"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Wed, 15 Apr 2026 15:59:37 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"103","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"access-control-allow-origin","value":"*","type":"text"},{"key":"Content-Encoding","value":"br","type":"text"},{"key":"etag","value":"W/\"83-r63xAwSK7OzpNKhQrsTtiWUM7bg\"","type":"text"},{"key":"rndr-id","value":"4f6678f9-0602-4052","type":"text"},{"key":"vary","value":"Accept-Encoding","type":"text"},{"key":"x-powered-by","value":"Express","type":"text"},{"key":"x-render-origin-server","value":"Render","type":"text"},{"key":"cf-cache-status","value":"DYNAMIC","type":"text"},{"key":"Server","value":"cloudflare","type":"text"},{"key":"CF-RAY","value":"9ecc2890cc3529a8-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"titulo\": \"sextouuu, huhuhuhuhu\",\n    \"conteudo\": \"a aula de sexta foi top\",\n    \"usuario_id\": 1,\n    \"criado_em\": \"2026-04-15T15:44:16.704Z\"\n}"}],"_postman_id":"456a18ff-bf51-4890-be28-a75316b288c9"},{"name":"https://api-orkut-c4js.onrender.com/posts","id":"3931b995-f29d-419d-aa76-1cd7b5af8aa7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[],"url":"https://api-orkut-c4js.onrender.com/posts","description":"<p>Esta rota é responsável por listar todas as postagens cadastradas na aplicação.</p>\n<p>Os dados retornados incluem informações da postagem, como título, conteúdo e data de criação, além de dados do usuário que realizou a postagem (como nome e ID), utilizando um relacionamento entre as tabelas no banco de dados.</p>\n<p>As postagens são exibidas em ordem decrescente de criação, ou seja, das mais recentes para as mais antigas.</p>\n","urlObject":{"protocol":"https","path":["posts"],"host":["api-orkut-c4js","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"fad94723-78ab-45b2-8dec-1cddd6dc899d","name":"https://api-orkut-c4js.onrender.com/posts","originalRequest":{"method":"GET","header":[],"url":"https://api-orkut-c4js.onrender.com/posts"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Wed, 15 Apr 2026 16:01:08 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"98","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"access-control-allow-origin","value":"*","type":"text"},{"key":"Content-Encoding","value":"br","type":"text"},{"key":"etag","value":"W/\"78-JmCbfutDigMwO+ji96hf4M9SqEI\"","type":"text"},{"key":"rndr-id","value":"a000f687-a33b-4146","type":"text"},{"key":"vary","value":"Accept-Encoding","type":"text"},{"key":"x-powered-by","value":"Express","type":"text"},{"key":"x-render-origin-server","value":"Render","type":"text"},{"key":"cf-cache-status","value":"DYNAMIC","type":"text"},{"key":"Server","value":"cloudflare","type":"text"},{"key":"CF-RAY","value":"9ecc2ac98b0cafcb-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"nome\": \"carlos\",\n        \"titulo\": \"sextouuu, huhuhuhuhu\",\n        \"conteudo\": \"a aula de sexta foi top\",\n        \"criado_em\": \"15/04/2026\"\n    }\n]"}],"_postman_id":"3931b995-f29d-419d-aa76-1cd7b5af8aa7"},{"name":"https://api-orkut-c4js.onrender.com/posts/1","id":"11b8de6f-6e80-46cb-87f5-21f450331e06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api-orkut-c4js.onrender.com/posts/1","description":"<p>Esta rota é responsável por excluir uma postagem existente.</p>\n<p>A exclusão é feita com base no ID informado na URL. Após a remoção, a API retorna os dados da postagem que foi deletada.</p>\n","urlObject":{"protocol":"https","path":["posts","1"],"host":["api-orkut-c4js","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"8b862a06-0ae1-4c5d-9db5-f9d69c9d5c36","name":"https://api-orkut-c4js.onrender.com/posts/1","originalRequest":{"method":"DELETE","header":[],"url":"https://api-orkut-c4js.onrender.com/posts/1"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Wed, 15 Apr 2026 16:07:58 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"149","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"access-control-allow-origin","value":"*","type":"text"},{"key":"Content-Encoding","value":"br","type":"text"},{"key":"etag","value":"W/\"b7-P4YN5KD7NuZA1jFzQxvN56T8ec4\"","type":"text"},{"key":"rndr-id","value":"ed64d803-6252-458c","type":"text"},{"key":"vary","value":"Accept-Encoding","type":"text"},{"key":"x-powered-by","value":"Express","type":"text"},{"key":"x-render-origin-server","value":"Render","type":"text"},{"key":"cf-cache-status","value":"DYNAMIC","type":"text"},{"key":"Server","value":"cloudflare","type":"text"},{"key":"CF-RAY","value":"9ecc34ce3f96255e-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensagem\": \"Postagem deletada com sucesso\",\n    \"post\": {\n        \"id\": 1,\n        \"titulo\": \"sextouuu, huhuhuhuhu\",\n        \"conteudo\": \"a aula de sexta foi top\",\n        \"usuario_id\": 1,\n        \"criado_em\": \"2026-04-15T15:44:16.704Z\"\n    }\n}"}],"_postman_id":"11b8de6f-6e80-46cb-87f5-21f450331e06"},{"name":"http://localhost:3000/abrigos/1/vagas","id":"31e2800e-a2ca-47c6-997a-1cac1d51a4e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"vagas_disponiveis\": 10\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/abrigos/1/vagas","urlObject":{"protocol":"http","port":"3000","path":["abrigos","1","vagas"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3e5282aa-b193-42f5-b6d7-50d232b06dd6","name":"http://localhost:3000/abrigos/1/vagas","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"vagas_disponiveis\": 10\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/abrigos/1/vagas"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"X-Powered-By","value":"Express","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"238","type":"text"},{"key":"ETag","value":"W/\"ee-qJ9G7OEAF0jDkXu/wN1p/xk0fsY\"","type":"text"},{"key":"Date","value":"Mon, 20 Apr 2026 16:10:03 GMT","type":"text"},{"key":"Connection","value":"keep-alive","type":"text"},{"key":"Keep-Alive","value":"timeout=5","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"nome\": \"Ginásio Municipal de Esportes\",\n    \"endereco\": \"Rua das Flores, 123 - Centro\",\n    \"telefone\": \"51988887777\",\n    \"capacidade_total\": 100,\n    \"vagas_disponiveis\": 10,\n    \"aceita_pets\": true,\n    \"tem_cozinha\": true,\n    \"criado_em\": \"2026-04-20T16:03:17.026Z\"\n}"}],"_postman_id":"31e2800e-a2ca-47c6-997a-1cac1d51a4e3"}]}