{"info":{"_postman_id":"00c4e825-3318-4ad2-8400-6024632dfcef","name":"Twitter Clone API","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"46102220","collectionId":"00c4e825-3318-4ad2-8400-6024632dfcef","publishedId":"2sBXVme83y","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-01-26T02:01:22.000Z"},"item":[{"name":"auth","item":[{"name":"http://localhost:3000/api/users/register","id":"4e6a9983-b78d-48b5-9a56-3838e3dd7fc4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"doga\",\r\n    \"email\": \"doga@gmail.com\",\r\n    \"age\": 23,\r\n    \"password\": \"123456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/users/register","description":"<p><strong><code>register</code></strong> <strong>(Kullanıcı Kaydı)</strong></p>\n<p>Sisteme yeni bir kullanıcı kaydeder.</p>\n<ul>\n<li><p><strong>Gereksinimler:</strong> <code>email</code> benzersiz olmalı, <code>password</code> en az 6 karakter olmalıdır.</p>\n</li>\n<li><p><strong>Dönen Veri:</strong> Oluşturulan kullanıcı bilgisi (Şifre hariç).</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","register"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"11b1cfdf-fe22-44f4-b624-c1d152408295","name":"http://localhost:3000/api/users/register","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"doga\",\r\n    \"email\": \"doga@gmail.com\",\r\n    \"age\": 23,\r\n    \"password\": \"123456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/users/register"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"99"},{"key":"Date","value":"Mon, 26 Jan 2026 00:51:26 GMT"},{"key":"X-RateLimit-Reset","value":"1769389587"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"164"},{"key":"ETag","value":"W/\"a4-VZ7bUUn34bFkyzPs7QMpOw/X/GY\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Kullanıcı başarıyla oluşturuldu.\",\n    \"data\": {\n        \"id\": \"6976ba8e1d17567b698f0f84\",\n        \"name\": \"doga\",\n        \"email\": \"doga@gmail.com\",\n        \"role\": \"user\"\n    }\n}"}],"_postman_id":"4e6a9983-b78d-48b5-9a56-3838e3dd7fc4"},{"name":"http://localhost:3000/api/users/login","id":"5987a17c-6428-468a-84ab-bbd9518907e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/users/login","description":"<p>Kayıtlı kullanıcının sisteme giriş yapmasını sağlar.</p>\n<ul>\n<li><p><strong>İşlem:</strong> E-posta ve şifreyi doğrular.</p>\n</li>\n<li><p><strong>Dönen Veri:</strong> Başarılı girişte 1 saat geçerli <strong>Bearer Token (JWT)</strong> döndürür.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"58269de8-bde0-43b2-b9f5-401967b9ad12","name":"http://localhost:3000/api/users/login","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/users/login"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"93"},{"key":"Date","value":"Mon, 26 Jan 2026 00:55:38 GMT"},{"key":"X-RateLimit-Reset","value":"1769389587"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"294"},{"key":"ETag","value":"W/\"126-FBER511P1GKzQVsMk9wv5TfKnRU\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Giriş başarılı\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5NzZiYThlMWQxNzU2N2I2OThmMGY4NCIsImlhdCI6MTc2OTM4ODkzOSwiZXhwIjoxNzY5MzkyNTM5fQ._zvInJ7SG0Sx6UlgSNxxBZRe6DMKaZ-aG0d34v1eZes\",\n    \"user\": {\n        \"id\": \"6976ba8e1d17567b698f0f84\",\n        \"name\": \"doga\",\n        \"email\": \"doga@gmail.com\"\n    }\n}"}],"_postman_id":"5987a17c-6428-468a-84ab-bbd9518907e0"}],"id":"adcc928e-7ab9-425b-af8e-a95696604834","_postman_id":"adcc928e-7ab9-425b-af8e-a95696604834","description":""},{"name":"users","item":[{"name":"http://localhost:3000/api/users/","id":"3d3319ab-5d74-499f-8d69-4033548aca60","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/","description":"<p><strong><code>getAllUsers</code></strong> <strong>(Kullanıcı Listesi)</strong></p>\n<p>Sistemdeki kullanıcıları listeler. Gelişmiş filtreleme seçeneklerini destekler.</p>\n<ul>\n<li><p><strong>Parametreler:</strong></p>\n<ul>\n<li><p><code>?sort=age</code> (Sıralama)</p>\n</li>\n<li><p><code>?page=1&amp;limit=10</code> (Sayfalama)</p>\n</li>\n<li><p><code>?age=25</code> (Filtreleme)</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"6e7a7e35-5ae2-4061-8394-4a56accd018f","name":"http://localhost:3000/api/users/","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"90"},{"key":"Date","value":"Mon, 26 Jan 2026 00:57:43 GMT"},{"key":"X-RateLimit-Reset","value":"1769389587"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2126"},{"key":"ETag","value":"W/\"84e-C2lSBrivWmW319DkhaP65eyt5dg\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"results\": 8,\n    \"page\": 1,\n    \"data\": [\n        {\n            \"_id\": \"6976ba8e1d17567b698f0f84\",\n            \"name\": \"doga\",\n            \"email\": \"doga@gmail.com\",\n            \"age\": 23,\n            \"profileImage\": \"default.jpg\",\n            \"role\": \"user\",\n            \"followers\": [],\n            \"following\": [],\n            \"createdAt\": \"2026-01-26T00:51:26.869Z\",\n            \"updatedAt\": \"2026-01-26T00:51:26.869Z\",\n            \"slug\": \"doga\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"6976a8f03764a5202dfa2a22\",\n            \"name\": \"ahmet yılmaz\",\n            \"email\": \"ahmetyılmaz@gmail.com\",\n            \"age\": 23,\n            \"profileImage\": \"default.jpg\",\n            \"role\": \"user\",\n            \"followers\": [],\n            \"following\": [],\n            \"createdAt\": \"2026-01-25T23:36:16.434Z\",\n            \"updatedAt\": \"2026-01-25T23:36:16.434Z\",\n            \"slug\": \"ahmet-yilmaz\",\n            \"__v\": 0\n        },\n        {\n            \"_id\": \"6976a80252f235ca3fdec2f1\",\n            \"name\": \"slug\",\n            \"email\": \"slug@gmail.com\",\n            \"age\": 23,\n            \"profileImage\": \"default.jpg\",\n            \"role\": \"user\",\n            \"followers\": [],\n            \"following\": [],\n            \"createdAt\": \"2026-01-25T23:32:18.327Z\",\n            \"updatedAt\": \"2026-01-25T23:32:18.327Z\",\n            \"slug\": \"slug\",\n            \"__v\": 0\n        },\n        {\n            \"profileImage\": \"default.jpg\",\n            \"role\": \"user\",\n            \"followers\": [],\n            \"following\": [],\n            \"_id\": \"696d386acf58958059119226\",\n            \"name\": \"selim\",\n            \"email\": \"selim@gmail.com\",\n            \"age\": 61,\n            \"createdAt\": \"2026-01-18T19:45:46.443Z\",\n            \"updatedAt\": \"2026-01-18T19:45:46.443Z\",\n            \"__v\": 0\n        },\n        {\n            \"profileImage\": \"default.jpg\",\n            \"role\": \"user\",\n            \"followers\": [],\n            \"following\": [],\n            \"_id\": \"696d385bcf58958059119223\",\n            \"name\": \"muzaffer\",\n            \"email\": \"muzaffer@gmail.com\",\n            \"age\": 29,\n            \"createdAt\": \"2026-01-18T19:45:31.299Z\",\n            \"updatedAt\": \"2026-01-18T19:45:31.299Z\",\n            \"__v\": 0\n        },\n        {\n            \"profileImage\": \"default.jpg\",\n            \"role\": \"user\",\n            \"followers\": [],\n            \"following\": [],\n            \"_id\": \"696d3845cf58958059119220\",\n            \"name\": \"ahmet\",\n            \"email\": \"ahmet@gmail.com\",\n            \"age\": 31,\n            \"createdAt\": \"2026-01-18T19:45:09.840Z\",\n            \"updatedAt\": \"2026-01-18T19:45:09.840Z\",\n            \"__v\": 0\n        },\n        {\n            \"followers\": [],\n            \"_id\": \"696d3831cf5895805911921d\",\n            \"name\": \"hayriye\",\n            \"email\": \"hayriye@gmail.com\",\n            \"age\": 26,\n            \"createdAt\": \"2026-01-18T19:44:49.020Z\",\n            \"updatedAt\": \"2026-01-23T14:34:06.494Z\",\n            \"__v\": 0,\n            \"profileImage\": \"default.jpg\",\n            \"role\": \"user\",\n            \"following\": [\n                \"696d381ecf5895805911921a\"\n            ]\n        },\n        {\n            \"profileImage\": \"default.jpg\",\n            \"following\": [],\n            \"_id\": \"696d381ecf5895805911921a\",\n            \"name\": \"fatma\",\n            \"email\": \"fatma@gmail.com\",\n            \"age\": 40,\n            \"createdAt\": \"2026-01-18T19:44:30.091Z\",\n            \"updatedAt\": \"2026-01-23T14:34:06.698Z\",\n            \"__v\": 0,\n            \"role\": \"admin\",\n            \"followers\": [\n                \"696d3831cf5895805911921d\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"3d3319ab-5d74-499f-8d69-4033548aca60"},{"name":"http://localhost:3000/api/users/696d3831cf5895805911921d","id":"6ac729dd-870a-4611-90fc-76838fae8566","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/696d3831cf5895805911921d","description":"<p><strong><code>getUserById</code></strong> <strong>(ID ile Kullanıcı)</strong></p>\n<p><code>_id</code> bilgisi verilen tekil kullanıcının detaylarını getirir.</p>\n<ul>\n<li><strong>Hata Durumu:</strong> Geçersiz ID veya kullanıcı yoksa 404 döner.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","696d3831cf5895805911921d"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"0f82586c-ec9b-4c84-8c12-041fd0bf5317","name":"http://localhost:3000/api/users/696d3831cf5895805911921d","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/696d3831cf5895805911921d"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"89"},{"key":"Date","value":"Mon, 26 Jan 2026 00:59:34 GMT"},{"key":"X-RateLimit-Reset","value":"1769389587"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"273"},{"key":"ETag","value":"W/\"111-7oBlc4AsMcTys6LGH8kJgm2ZZkU\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"followers\": [],\n    \"_id\": \"696d3831cf5895805911921d\",\n    \"name\": \"hayriye\",\n    \"email\": \"hayriye@gmail.com\",\n    \"age\": 26,\n    \"createdAt\": \"2026-01-18T19:44:49.020Z\",\n    \"updatedAt\": \"2026-01-23T14:34:06.494Z\",\n    \"__v\": 0,\n    \"profileImage\": \"default.jpg\",\n    \"role\": \"user\",\n    \"following\": [\n        \"696d381ecf5895805911921a\"\n    ]\n}"}],"_postman_id":"6ac729dd-870a-4611-90fc-76838fae8566"},{"name":"http://localhost:3000/api/users/profile","id":"598a6d6c-4943-4595-a891-76da9870b1fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/profile","description":"<p><strong><code>getProfile</code></strong> <strong>(Profilim)</strong></p>\n<p>Token sahibinin (giriş yapan kişinin) kendi profil bilgilerini getirir.</p>\n<ul>\n<li><strong>Özellik:</strong> URL'de ID göndermeye gerek yoktur, kimliği Token'dan algılar.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","profile"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e4322c47-a848-411a-9344-32e2d1343220","name":"http://localhost:3000/api/users/profile","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/profile"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"88"},{"key":"Date","value":"Mon, 26 Jan 2026 01:00:26 GMT"},{"key":"X-RateLimit-Reset","value":"1769389587"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"255"},{"key":"ETag","value":"W/\"ff-0CYklEqMBwv9EIbITCJ4xTRVen0\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"_id\": \"6976ba8e1d17567b698f0f84\",\n    \"name\": \"doga\",\n    \"email\": \"doga@gmail.com\",\n    \"age\": 23,\n    \"profileImage\": \"default.jpg\",\n    \"role\": \"user\",\n    \"followers\": [],\n    \"following\": [],\n    \"createdAt\": \"2026-01-26T00:51:26.869Z\",\n    \"updatedAt\": \"2026-01-26T00:51:26.869Z\",\n    \"slug\": \"doga\",\n    \"__v\": 0\n}"}],"_postman_id":"598a6d6c-4943-4595-a891-76da9870b1fe"},{"name":"http://localhost:3000/api/users/upload-photo","id":"09eef5db-ac17-437b-863a-35e7660676ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"photo","type":"file","uuid":"7adebd80-5eb7-4362-b596-30f98ab6509a","src":"/C:/Users/faruk/Desktop/f.jpg"}]},"url":"http://localhost:3000/api/users/upload-photo","description":"<p><strong><code>uploadProfilePhoto</code></strong> <strong>(Fotoğraf Yükleme)</strong></p>\n<p>Kullanıcının profil fotoğrafını günceller.</p>\n<ul>\n<li><p><strong>Format:</strong> <code>multipart/form-data</code></p>\n</li>\n<li><p><strong>Alan Adı (Key):</strong> <code>photo</code></p>\n</li>\n<li><p><strong>Kısıtlama:</strong> Sadece resim dosyaları kabul edilir (Max 2MB).</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","upload-photo"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"fc12c478-bf83-40d6-b7f8-174089f86ee5","name":"http://localhost:3000/api/users/upload-photo","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"photo","type":"file","uuid":"7adebd80-5eb7-4362-b596-30f98ab6509a","src":"/C:/Users/faruk/Desktop/f.jpg"}]},"url":"http://localhost:3000/api/users/upload-photo"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"99"},{"key":"Date","value":"Mon, 26 Jan 2026 01:02:42 GMT"},{"key":"X-RateLimit-Reset","value":"1769390263"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"320"},{"key":"ETag","value":"W/\"140-L989YqF/iiwHy2eSxqNPD6P3x3E\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Profil fotoğrafı güncellendi\",\n    \"data\": {\n        \"_id\": \"6976ba8e1d17567b698f0f84\",\n        \"name\": \"doga\",\n        \"email\": \"doga@gmail.com\",\n        \"age\": 23,\n        \"profileImage\": \"user-1769389362984.jpeg\",\n        \"role\": \"user\",\n        \"followers\": [],\n        \"following\": [],\n        \"createdAt\": \"2026-01-26T00:51:26.869Z\",\n        \"updatedAt\": \"2026-01-26T01:02:42.993Z\",\n        \"slug\": \"doga\",\n        \"__v\": 0\n    }\n}"}],"_postman_id":"09eef5db-ac17-437b-863a-35e7660676ce"},{"name":"http://localhost:3000/api/users/696d386acf58958059119226","id":"a8399de4-5eed-43b6-b00b-fcc83dace137","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/696d386acf58958059119226","description":"<p><strong><code>deleteUser</code></strong> <strong>(Yönetici Silmesi)</strong></p>\n<p>[SADECE ADMIN] Bir kullanıcıyı sistemden tamamen siler.</p>\n<ul>\n<li><strong>Etki:</strong> Kullanıcı silindiğinde, ona ait tüm tweetler ve veriler de otomatik olarak silinir (Cascade Delete).</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","696d386acf58958059119226"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"33001a74-8d22-4eaa-aada-dec6239615c7","name":"http://localhost:3000/api/users/696d386acf58958059119226","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/696d386acf58958059119226"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"90"},{"key":"Date","value":"Mon, 26 Jan 2026 01:11:21 GMT"},{"key":"X-RateLimit-Reset","value":"1769390528"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"51"},{"key":"ETag","value":"W/\"33-2JH9sA9HtK+RwekuHJfd0pugHMA\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Kullanıcı ve tüm verileri silindi.\"\n}"}],"_postman_id":"a8399de4-5eed-43b6-b00b-fcc83dace137"},{"name":"http://localhost:3000/api/users/update-password","id":"9319b8f8-fe1e-4305-a6df-b61e959bd389","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"currentPassword\":\"123456\",\r\n    \"newPassword\":\"1234567\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/users/update-password","description":"<p>Giriş yapmış olan kullanıcının şifresini değiştirir.</p>\n<ul>\n<li><p><strong>Gereksinimler:</strong> <code>currentPassword</code> (Mevcut şifre) doğrulanmalıdır.</p>\n</li>\n<li><p><strong>Sonuç:</strong> Şifre değişir ve kullanıcıya yeni bir Token verilir.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","update-password"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"1d306ac7-9960-4b13-8ba2-53e10f6384b7","name":"http://localhost:3000/api/users/update-password","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"currentPassword\":\"123456\",\r\n    \"newPassword\":\"1234567\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/users/update-password"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"89"},{"key":"Date","value":"Mon, 26 Jan 2026 01:14:00 GMT"},{"key":"X-RateLimit-Reset","value":"1769390528"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"250"},{"key":"ETag","value":"W/\"fa-Nari/9MBfgeJWUZ42XH+LtueDqw\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Şifreniz başarıyla güncellendi!\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5NzZiYThlMWQxNzU2N2I2OThmMGY4NCIsImlhdCI6MTc2OTM5MDA0MCwiZXhwIjoxNzY5MzkzNjQwfQ.IVhEjnFZbbE6jLxUtp10r4hnT7FNLc8TSVfB1J5B2Bo\"\n}"}],"_postman_id":"9319b8f8-fe1e-4305-a6df-b61e959bd389"},{"name":"http://localhost:3000/api/users/696d3831cf5895805911921d/follow","id":"9493e440-ebe6-401f-bc4f-09eca4c2f7f0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/696d3831cf5895805911921d/follow","description":"<p><strong><code>followUser</code></strong> <strong>(Takip Et / Bırak)</strong></p>\n<p>Belirtilen kullanıcıyı takip eder veya takipten çıkar (Toggle mantığı).</p>\n<ul>\n<li><p><strong>Mantık:</strong> Eğer zaten takip ediliyorsa takibi bırakır (Unfollow), edilmiyorsa takip eder (Follow).</p>\n</li>\n<li><p><strong>Kısıtlama:</strong> Kullanıcı kendisini takip edemez.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","696d3831cf5895805911921d","follow"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ac166b6d-da38-434a-a149-8cf78919f3c8","name":"http://localhost:3000/api/users/696d3831cf5895805911921d/follow","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/696d3831cf5895805911921d/follow"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"82"},{"key":"Date","value":"Mon, 26 Jan 2026 01:18:18 GMT"},{"key":"X-RateLimit-Reset","value":"1769390528"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"58"},{"key":"ETag","value":"W/\"3a-Ss5HxYu3IgGgBqyxx/O9FR4UhEE\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Kullanıcı takip edildi.\"\n}"}],"_postman_id":"9493e440-ebe6-401f-bc4f-09eca4c2f7f0"},{"name":"http://localhost:3000/api/users/delete-me","id":"f5153b3f-c5c1-4b27-baea-a7d1e3424c5a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/delete-me","description":"<p><strong><code>deleteMe</code></strong> <strong>(Hesap Kapatma)</strong></p>\n<p>Kullanıcının kendi hesabını kapatmasını sağlar.</p>\n<ul>\n<li><strong>Yöntem:</strong> Soft Delete (Veri silinmez, sadece <code>isActive: false</code> olarak işaretlenir ve erişime kapanır).</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","delete-me"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"cf8c3acb-7649-4108-b25f-780621a38a2a","name":"http://localhost:3000/api/users/delete-me","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"doga@gmail.com\",\r\n    \"password\": \"123456\"\r\n}"},"url":"http://localhost:3000/api/users/delete-me"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"78"},{"key":"Date","value":"Mon, 26 Jan 2026 01:20:50 GMT"},{"key":"X-RateLimit-Reset","value":"1769390528"},{"key":"ETag","value":"W/\"20-bff5r/a5MyNNWy9hjn8a8pOLDxA\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"f5153b3f-c5c1-4b27-baea-a7d1e3424c5a"},{"name":"http://localhost:3000/api/users/handle/ahmet-yilmaz","id":"6d73ace7-3e60-4ef7-877c-f9a4e565b83e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"http://localhost:3000/api/users/handle/ahmet-yilmaz","description":"<p><strong><code>getUserBySlug</code></strong> <strong>(Kullanıcı Adı ile Profil)</strong></p>\n<p>Kullanıcıyı ID yerine okunabilir kullanıcı adı (slug) ile bulur.</p>\n<ul>\n<li><p><strong>Örnek:</strong> <code>/api/users/handle/muhendis-faruk</code></p>\n</li>\n<li><p><strong>Kullanım:</strong> SEO dostu profil sayfaları için kullanılır.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","users","handle","ahmet-yilmaz"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"aa946822-7251-4b58-8766-0892fe578dd8","name":"http://localhost:3000/api/users/handle/ahmet-yilmaz","originalRequest":{"method":"GET","header":[],"url":"http://localhost:3000/api/users/handle/ahmet-yilmaz"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"98"},{"key":"Date","value":"Mon, 26 Jan 2026 01:22:22 GMT"},{"key":"X-RateLimit-Reset","value":"1769391432"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"308"},{"key":"ETag","value":"W/\"134-oy71Hg8pL84XOApwsB3rqQAadxI\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"_id\": \"6976a8f03764a5202dfa2a22\",\n        \"name\": \"ahmet yılmaz\",\n        \"email\": \"ahmetyılmaz@gmail.com\",\n        \"age\": 23,\n        \"profileImage\": \"default.jpg\",\n        \"role\": \"user\",\n        \"followers\": [],\n        \"following\": [],\n        \"createdAt\": \"2026-01-25T23:36:16.434Z\",\n        \"updatedAt\": \"2026-01-25T23:36:16.434Z\",\n        \"slug\": \"ahmet-yilmaz\",\n        \"__v\": 0\n    }\n}"}],"_postman_id":"6d73ace7-3e60-4ef7-877c-f9a4e565b83e"}],"id":"b17bb21c-899b-4b37-97be-2fa052566c91","_postman_id":"b17bb21c-899b-4b37-97be-2fa052566c91","description":""},{"name":"Tweets","item":[{"name":" http://localhost:3000/api/tweets","id":"222e512a-6760-4b11-93c3-746431fe4610","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"text\": \"güncel atılan bir tweet\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/tweets","description":"<p><strong><code>createTweet</code></strong> <strong>(Tweet Paylaş)</strong></p>\n<p>Sisteme yeni bir tweet ekler.</p>\n<ul>\n<li><p><strong>Gereksinimler:</strong> <code>text</code> (İçerik) alanı zorunludur.</p>\n</li>\n<li><p><strong>İşlem:</strong> Tweet, Token ile giriş yapan kullanıcıya (<code>req.user.id</code>) bağlanır.</p>\n</li>\n<li><p><strong>Dönen Veri:</strong> Oluşturulan tweet objesi (User ID referansı ile birlikte).</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","tweets"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f5f04398-64c4-4e57-94e7-e9b3912fd0eb","name":"http://localhost:3000/api/tweets","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"text\": \"güncel atılan bir tweet\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/tweets"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"99"},{"key":"Date","value":"Mon, 26 Jan 2026 01:25:14 GMT"},{"key":"X-RateLimit-Reset","value":"1769391615"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"246"},{"key":"ETag","value":"W/\"f6-VrEzcHmHIyyTpVqtmtvroQEzVfE\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"text\": \"güncel atılan bir tweet\",\n    \"user\": \"6976ba8e1d17567b698f0f84\",\n    \"likes\": [],\n    \"_id\": \"6976c27a2c0a6c7b5b9a0b1d\",\n    \"createdAt\": \"2026-01-26T01:25:14.772Z\",\n    \"updatedAt\": \"2026-01-26T01:25:14.772Z\",\n    \"__v\": 0,\n    \"likeCount\": 0,\n    \"id\": \"6976c27a2c0a6c7b5b9a0b1d\"\n}"}],"_postman_id":"222e512a-6760-4b11-93c3-746431fe4610"},{"name":" http://localhost:3000/api/tweets","id":"6141a38b-7f24-49f0-b19a-ee0bb77eda8a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"http://localhost:3000/api/tweets","description":"<p><strong><code>getAllTweets</code></strong> <strong>(Tweet Akışı)</strong></p>\n<p>Sistemdeki tüm tweetleri listeler.</p>\n<ul>\n<li><p><strong>Özellik (Populate):</strong> Tweet objesi içinde sadece <code>user_id</code> dönmez; yazarın <code>name</code>, <code>email</code> ve <code>profileImage</code> bilgileri de otomatik olarak doldurulur.</p>\n</li>\n<li><p><strong>Sanal Alanlar:</strong> JSON cevabında <code>likeCount</code> (beğeni sayısı) alanı da yer alır (Virtuals sayesinde).</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","tweets"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"c5e9582b-74c3-40b6-84ec-07fe3d58a4c2","name":"http://localhost:3000/api/tweets","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"http://localhost:3000/api/tweets"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"98"},{"key":"Date","value":"Mon, 26 Jan 2026 01:26:12 GMT"},{"key":"X-RateLimit-Reset","value":"1769391615"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"659"},{"key":"ETag","value":"W/\"293-1vh5cXowNYiQ8AkWyFjEyXDzEos\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"_id\": \"696fc8dc4249a9b9f69b8c0c\",\n        \"text\": \"rate limiting testi\",\n        \"user\": {\n            \"_id\": \"696d3831cf5895805911921d\",\n            \"name\": \"hayriye\",\n            \"email\": \"hayriye@gmail.com\",\n            \"profileImage\": \"default.jpg\"\n        },\n        \"createdAt\": \"2026-01-20T18:26:36.566Z\",\n        \"updatedAt\": \"2026-01-22T05:43:36.544Z\",\n        \"__v\": 2,\n        \"likes\": [],\n        \"likeCount\": 0,\n        \"id\": \"696fc8dc4249a9b9f69b8c0c\"\n    },\n    {\n        \"_id\": \"6976c27a2c0a6c7b5b9a0b1d\",\n        \"text\": \"güncel atılan bir tweet\",\n        \"user\": {\n            \"_id\": \"6976ba8e1d17567b698f0f84\",\n            \"name\": \"doga\",\n            \"email\": \"doga@gmail.com\",\n            \"profileImage\": \"user-1769389362984.jpeg\"\n        },\n        \"likes\": [],\n        \"createdAt\": \"2026-01-26T01:25:14.772Z\",\n        \"updatedAt\": \"2026-01-26T01:25:14.772Z\",\n        \"__v\": 0,\n        \"likeCount\": 0,\n        \"id\": \"6976c27a2c0a6c7b5b9a0b1d\"\n    }\n]"}],"_postman_id":"6141a38b-7f24-49f0-b19a-ee0bb77eda8a"},{"name":" http://localhost:3000/api/tweets/696fc8dc4249a9b9f69b8c0c/like","id":"9037b073-fef1-43e8-b70b-bda9f8476a32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/tweets/696fc8dc4249a9b9f69b8c0c/like","description":"<p><strong><code>likeTweet</code></strong> <strong>(Beğen / Vazgeç)</strong></p>\n<p>Bir tweeti beğenir veya beğeniden vazgeçer (Toggle Mantığı).</p>\n<ul>\n<li><p><strong>Mantık:</strong> Kullanıcı bu tweeti daha önce beğendiyse, listeden çıkarır (<strong>Unlike</strong>). Eğer beğenmediyse listeye ekler (<strong>Like</strong>).</p>\n</li>\n<li><p><strong>Dönen Veri:</strong> Güncel <code>likes</code> listesi ve <code>likesCount</code> sayısı.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","tweets","696fc8dc4249a9b9f69b8c0c","like"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"0a29ab26-968a-495d-bc4d-eafbea2b4e72","name":"http://localhost:3000/api/tweets/696fc8dc4249a9b9f69b8c0c/like","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/tweets/696fc8dc4249a9b9f69b8c0c/like"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"96"},{"key":"Date","value":"Mon, 26 Jan 2026 01:27:50 GMT"},{"key":"X-RateLimit-Reset","value":"1769391615"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"118"},{"key":"ETag","value":"W/\"76-0JFGdgMItI1SDvIIiUt4sHK1HKw\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"data\": {\n        \"tweetId\": \"696fc8dc4249a9b9f69b8c0c\",\n        \"likesCount\": 1,\n        \"likes\": [\n            \"6976ba8e1d17567b698f0f84\"\n        ]\n    }\n}"}],"_postman_id":"9037b073-fef1-43e8-b70b-bda9f8476a32"}],"id":"5f2b7a8d-287a-4faf-87b3-82a977de71ee","_postman_id":"5f2b7a8d-287a-4faf-87b3-82a977de71ee","description":""},{"name":"comment","item":[{"name":" http://localhost:3000/api/comments/696fc8dc4249a9b9f69b8c0c","id":"28caa36b-5278-47a7-9977-26b665c25e85","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"text\": \"örnek bir yorum\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/comments/696fc8dc4249a9b9f69b8c0c","description":"<p><strong><code>createComment</code></strong> <strong>(Yorum Yap)</strong></p>\n<blockquote>\n</blockquote>\n<p>Belirli bir tweete yorum ekler.</p>\n<ul>\n<li><p><strong>Parametre:</strong> URL üzerinden hedef tweetin ID'sini (<code>:tweetid</code>) alır.</p>\n</li>\n<li><p><strong>Gereksinimler:</strong> <code>text</code> (Yorum içeriği) zorunludur.</p>\n</li>\n<li><p><strong>İşlem:</strong> Yorum hem Tweet'e hem de Kullanıcıya bağlanarak kaydedilir.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","comments","696fc8dc4249a9b9f69b8c0c"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e1890737-7f30-41e2-a3f5-29a8a24051cc","name":"http://localhost:3000/api/comments/696fc8dc4249a9b9f69b8c0c","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"text\": \"örnek bir yorum\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/comments/696fc8dc4249a9b9f69b8c0c"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"Content-Security-Policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-origin"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-RateLimit-Limit","value":"100"},{"key":"X-RateLimit-Remaining","value":"94"},{"key":"Date","value":"Mon, 26 Jan 2026 01:30:10 GMT"},{"key":"X-RateLimit-Reset","value":"1769391615"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"215"},{"key":"ETag","value":"W/\"d7-NVC+9c+WnKVgCBfVnte36b+rgcs\""},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"text\": \"örnek bir yorum\",\n    \"user\": \"6976ba8e1d17567b698f0f84\",\n    \"tweet\": \"696fc8dc4249a9b9f69b8c0c\",\n    \"_id\": \"6976c3a22c0a6c7b5b9a0b28\",\n    \"createdAt\": \"2026-01-26T01:30:10.616Z\",\n    \"updatedAt\": \"2026-01-26T01:30:10.616Z\",\n    \"__v\": 0\n}"}],"_postman_id":"28caa36b-5278-47a7-9977-26b665c25e85"}],"id":"fa12b6ab-3c72-419a-9d0a-6632963b6a6d","_postman_id":"fa12b6ab-3c72-419a-9d0a-6632963b6a6d","description":""}]}