{"info":{"_postman_id":"c554acef-18a9-4428-937e-7646f03995f2","name":"projeto-api-orkut","description":"<html><head></head><body><p><strong>Esta API simula uma rede social inspirada no Orkut, permitindo o cadastro de usuários, autenticação, criação e gerenciamento de postagens.</strong></p>\n<p><strong>O sistema foi desenvolvido utilizando Node.js, Express.js e PostgreSQL, com foco na construção de uma API REST completa, incluindo operações de CRUD, validação de dados, autenticação e segurança.</strong></p>\n<p><strong>Este projeto foi criado para fins educacionais, no contexto das aulas do Vai na Web, com o objetivo de ensinar conceitos fundamentais de desenvolvimento backend, como:</strong></p>\n<ul>\n<li><strong>criação de rotas</strong></li>\n<li><strong>integração com banco de dados</strong></li>\n<li><strong>validação com Joi</strong></li>\n<li><strong>autenticação com JWT</strong></li>\n<li><strong>criptografia de senha com Bcrypt</strong></li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"36357502","collectionId":"c554acef-18a9-4428-937e-7646f03995f2","publishedId":"2sBXitCnSr","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-11T16:15:48.000Z"},"item":[{"name":"https://api-orkut-8lt0.onrender.com/usuarios","id":"fe4b36d8-bcbd-4eef-b7f7-d292d325f8fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/usuarios","description":"<p><strong>Esta rota é responsável por listar todos os usuários cadastrados no sistema.</strong></p>\n<p><strong>Retorna os dados dos usuários armazenados no banco de dados, permitindo visualizar informações como nome e email.</strong></p>\n<p><strong>⚠️ Por questões de segurança, a senha dos usuários não deve ser retornada na resposta.</strong></p>\n","urlObject":{"protocol":"https","path":["usuarios"],"host":["api-orkut-8lt0","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"78ba0b4a-9449-45e0-a76c-670d71f4aad9","name":"https://api-orkut-8lt0.onrender.com/usuarios","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/usuarios"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Sat, 11 Apr 2026 14:53:48 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"226","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/\"145-q4dvy6QNBQutl4O70PCQqeBSxn0\"","type":"text"},{"key":"rndr-id","value":"3a8962a0-45eb-4069","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":"9eaad2a7ab05e851-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"nome\": \"George\",\n        \"email\": \"george@email.com\",\n        \"senha\": \"$2b$10$5MAkpEFMTLcyO06JdA/P2.iT4R1unSiNiNltw22Yia0EOg1J95Cx6\",\n        \"criado_em\": \"2026-04-11T14:50:47.143Z\"\n    },\n    {\n        \"id\": 2,\n        \"nome\": \"Ingrid\",\n        \"email\": \"ingrid@email.com\",\n        \"senha\": \"$2b$10$2OgCujl/qMpZBMgc/hq2oufxpj2.Rkwodz.6v6xHjk9bKhsj/LRAy\",\n        \"criado_em\": \"2026-04-11T14:52:49.700Z\"\n    }\n]"}],"_postman_id":"fe4b36d8-bcbd-4eef-b7f7-d292d325f8fe"},{"name":"https://api-orkut-8lt0.onrender.com/usuarios","id":"58f2c394-ba55-4705-b4e9-d7f7e40a26c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"nome\": \"Ingrid\",\r\n    \"email\": \"ingrid@email.com\",\r\n    \"senha\": \"123abc\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/usuarios","description":"<p><strong>Esta rota é responsável por cadastrar um novo usuário na aplicação.</strong></p>\n<p><strong>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.</strong></p>\n<p><strong>Após o cadastro, o usuário poderá realizar autenticação na aplicação.</strong></p>\n","urlObject":{"protocol":"https","path":["usuarios"],"host":["api-orkut-8lt0","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"7a519154-61d9-49a7-bfe9-51e884bd4c26","name":"https://api-orkut-8lt0.onrender.com/usuarios","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"nome\": \"Ingrid\",\r\n    \"email\": \"ingrid@email.com\",\r\n    \"senha\": \"123abc\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/usuarios"},"status":"Created","code":201,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Sat, 11 Apr 2026 14:52:49 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"182","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/\"d5-yybI9gySsUZ7UFsP46fjnFTHRHk\"","type":"text"},{"key":"rndr-id","value":"a65ea2f0-24c4-4f63","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":"9eaad1336b890309-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensagem\": \"Usuario criado com sucesso\",\n    \"usuario\": {\n        \"id\": 2,\n        \"nome\": \"Ingrid\",\n        \"email\": \"ingrid@email.com\",\n        \"senha\": \"$2b$10$2OgCujl/qMpZBMgc/hq2oufxpj2.Rkwodz.6v6xHjk9bKhsj/LRAy\",\n        \"criado_em\": \"2026-04-11T14:52:49.700Z\"\n    }\n}"}],"_postman_id":"58f2c394-ba55-4705-b4e9-d7f7e40a26c3"},{"name":"https://api-orkut-8lt0.onrender.com/login","id":"73b42871-9c89-4e91-8d70-88813c24f560","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"ingrid@email.com\",\r\n    \"senha\": \"123abc\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/login","description":"<p><strong>Esta rota é responsável por realizar o login do usuário.</strong></p>\n<p><strong>O sistema verifica se o email existe e compara a senha informada com a senha criptografada utilizando bcrypt.</strong></p>\n<p><strong>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.</strong></p>\n","urlObject":{"protocol":"https","path":["login"],"host":["api-orkut-8lt0","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"f23edd5f-d924-497f-9a75-ec158530ef90","name":"https://api-orkut-8lt0.onrender.com/login","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"ingrid@email.com\",\r\n    \"senha\": \"123abc\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/login"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Sat, 11 Apr 2026 14:56:41 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"134","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-YZlEPf8ZR2d6K0ORy0unRZGvEHg\"","type":"text"},{"key":"rndr-id","value":"dac9d9fe-9fd6-4bfd","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":"9eaad6d99e4eb1fc-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiaWF0IjoxNzc1OTE5NDAxLCJleHAiOjE3NzU5MjMwMDF9.D9w0iSnaSB1RqAIpIg1HQdlYMOWl6viqSx2jIxN9OAc\"\n}"}],"_postman_id":"73b42871-9c89-4e91-8d70-88813c24f560"},{"name":"https://api-orkut-8lt0.onrender.com/posts","id":"37c682ae-973b-489a-9af8-00d29e4c3761","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"Sabadou\",\r\n    \"conteudo\": \"Sabado também é dia\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/posts","description":"<p><strong>Esta rota é responsável por criar uma nova postagem.</strong></p>\n<p><strong>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.</strong></p>\n","urlObject":{"protocol":"https","path":["posts"],"host":["api-orkut-8lt0","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"51b98eb0-f51d-4d17-82e7-79d0b4d91955","name":"https://api-orkut-8lt0.onrender.com/posts","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"Sabadou\",\r\n    \"conteudo\": \"Sabado também é dia\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/posts"},"status":"Created","code":201,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Sat, 11 Apr 2026 15:30:58 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"130","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/\"9e-cJ01MynNLSIncL/ewcaH7YLnqVg\"","type":"text"},{"key":"rndr-id","value":"2c419f7e-a137-4107","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":"9eab0915c8ba1b17-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensagem\": \"Post criado com sucesso\",\n    \"post\": {\n        \"id\": 2,\n        \"titulo\": \"Sabadou\",\n        \"conteudo\": \"Sabado também é dia\",\n        \"usuario_id\": 2,\n        \"criado_em\": \"11/04/2026, 12:30:58\"\n    }\n}"}],"_postman_id":"37c682ae-973b-489a-9af8-00d29e4c3761"},{"name":"https://api-orkut-8lt0.onrender.com/posts/1","id":"2ecf54f6-f9ab-4699-9c4b-31720cd814f4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"Atualizar post\",\r\n    \"conteudo\": \"Conteudo novo\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/posts/1","description":"<p><strong>Esta rota é responsável por atualizar uma postagem existente.</strong></p>\n<p><strong>A partir do ID informado na URL, o sistema localiza a postagem e atualiza seus dados (como título e conteúdo).</strong></p>\n<p><strong>Caso o ID não exista, a API retorna um erro informando que a postagem não foi encontrada.</strong></p>\n","urlObject":{"protocol":"https","path":["posts","1"],"host":["api-orkut-8lt0","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"d4624f92-6f83-47fa-b1c1-578ea077b2cd","name":"https://api-orkut-8lt0.onrender.com/posts/1","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"titulo\": \"Atualizar post\",\r\n    \"conteudo\": \"Conteudo novo\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api-orkut-8lt0.onrender.com/posts/1"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Sat, 11 Apr 2026 15:35:08 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"131","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/\"a1-euITNLVlZhTJuwtxBZYs6W1Q0PM\"","type":"text"},{"key":"rndr-id","value":"2de6a603-2206-403a","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":"9eab0f332d82d5fa-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\": \"Atualizar post\",\n        \"conteudo\": \"Conteudo novo\",\n        \"usuario_id\": 2,\n        \"criado_em\": \"11/04/2026, 12:18:33\"\n    }\n}"}],"_postman_id":"2ecf54f6-f9ab-4699-9c4b-31720cd814f4"},{"name":"https://api-orkut-8lt0.onrender.com/posts","id":"c1873ae9-182a-4f3f-84a3-e81569e7c5a8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"GET","header":[],"url":"https://api-orkut-8lt0.onrender.com/posts","description":"<p><strong>Esta rota é responsável por listar todas as postagens cadastradas na aplicação.</strong></p>\n<p><strong>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.</strong></p>\n<p><strong>As postagens são exibidas em ordem decrescente de criação, ou seja, das mais recentes para as mais antigas.</strong></p>\n","urlObject":{"protocol":"https","path":["posts"],"host":["api-orkut-8lt0","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"e74cba40-a0cb-4a20-b24e-0144bd7c4298","name":"https://api-orkut-8lt0.onrender.com/posts","originalRequest":{"method":"GET","header":[],"url":"https://api-orkut-8lt0.onrender.com/posts"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Sat, 11 Apr 2026 15:46:54 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"198","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/\"19b-T0DyBFA69Te1ieoK0ulBOh0OHEY\"","type":"text"},{"key":"rndr-id","value":"2c721009-30c2-4aa8","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":"9eab206f79c48712-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"post_id\": 3,\n        \"usuario_id\": 2,\n        \"nome\": \"Ingrid\",\n        \"titulo\": \"Tchau post\",\n        \"conteudo\": \"Post para exemplo do delete\",\n        \"criado_em\": \"11/04/2026, 12:40:21\"\n    },\n    {\n        \"post_id\": 2,\n        \"usuario_id\": 2,\n        \"nome\": \"Ingrid\",\n        \"titulo\": \"Sabadou\",\n        \"conteudo\": \"Sabado também é dia\",\n        \"criado_em\": \"11/04/2026, 12:30:58\"\n    },\n    {\n        \"post_id\": 1,\n        \"usuario_id\": 2,\n        \"nome\": \"Ingrid\",\n        \"titulo\": \"Atualizar post\",\n        \"conteudo\": \"Conteudo novo\",\n        \"criado_em\": \"11/04/2026, 12:18:33\"\n    }\n]"}],"_postman_id":"c1873ae9-182a-4f3f-84a3-e81569e7c5a8"},{"name":"https://api-orkut-8lt0.onrender.com/posts/3","id":"e52f39d8-6a39-412e-8e2f-c70ff15644e5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"inherit","inherit":{"basicConfig":[]},"isInherited":false},"method":"DELETE","header":[],"url":"https://api-orkut-8lt0.onrender.com/posts/3","description":"<p><strong>Esta rota é responsável por excluir uma postagem existente.</strong></p>\n<p><strong>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.</strong></p>\n","urlObject":{"protocol":"https","path":["posts","3"],"host":["api-orkut-8lt0","onrender","com"],"query":[],"variable":[]}},"response":[{"id":"567f01fd-110e-4aae-a02e-16249d3ff159","name":"https://api-orkut-8lt0.onrender.com/posts/3","originalRequest":{"method":"DELETE","header":[],"url":"https://api-orkut-8lt0.onrender.com/posts/3"},"status":"OK","code":200,"_postman_previewlanguage":"JSON","header":[{"key":"Date","value":"Sat, 11 Apr 2026 15:47:51 GMT","type":"text"},{"key":"Content-Type","value":"application/json; charset=utf-8","type":"text"},{"key":"Content-Length","value":"137","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-0Bi138QMCmnX/Ubjc2YpnAhBpD0\"","type":"text"},{"key":"rndr-id","value":"b9f92536-6d3f-4278","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":"9eab21d60b99d4ad-GRU","type":"text"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"mensagem\": \"Post deletado com sucesso\",\n    \"post\": {\n        \"id\": 3,\n        \"titulo\": \"Tchau post\",\n        \"conteudo\": \"Post para exemplo do delete\",\n        \"usuario_id\": 2,\n        \"criado_em\": \"11/04/2026, 12:40:21\"\n    }\n}"}],"_postman_id":"e52f39d8-6a39-412e-8e2f-c70ff15644e5"}]}