377 lines
10 KiB
Markdown
377 lines
10 KiB
Markdown
Proje `frontend` klasörü altında yapılandırılmıştır. Gerekli tüm paketler (`package.json`) önceden yüklenmiştir:
|
||
- **Framework:** Next.js 16 (App Router)
|
||
- **UI:** React 19, Tailwind CSS v4, shadcn/ui
|
||
- **İkonlar:** lucide-react
|
||
- **Validasyon:** Zod
|
||
- **Auth:** NextAuth.js
|
||
- **Bildirimler:** SweetAlert2
|
||
- **Güvenlik:** nextjs-turnstile (Cloudflare)
|
||
- **Senin ile sadece Frontend Üstünde Çalışıyorum**
|
||
- **Backend ile ilgili bir şey Yapman Gerekirse Bana Söylemen Yeterli**
|
||
|
||
##############
|
||
Yeni Hero Kaydi
|
||
curl -X 'POST' \
|
||
'http://localhost:8080/api/v1/admin/heroes' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzE0MDU3NjYsImlhdCI6MTc3MTM5NDk2NiwiaXNfYWRtaW4iOnRydWUsInN1YiI6MiwidG9rZW5fdHlwZSI6ImFjY2VzcyJ9.pKMS0trKymCVgLZL-fTSUWB8QDAzfRVikHD_-I2iC-A' \
|
||
-H 'Content-Type: multipart/form-data' \
|
||
-F 'color=11111' \
|
||
-F 'title=Title' \
|
||
-F 'text1=Text1' \
|
||
-F 'text2=Text2' \
|
||
-F 'text4=Text4' \
|
||
-F 'text5=Text5' \
|
||
-F 'is_active=true' \
|
||
-F 'image=@845575.png;type=image/png'
|
||
|
||
Request URL
|
||
|
||
http://localhost:8080/api/v1/admin/heroes
|
||
|
||
Server response
|
||
Code Details
|
||
201
|
||
Response body
|
||
|
||
{
|
||
"data": {
|
||
"ID": 1,
|
||
"CreatedAt": "2026-02-18T06:17:46.077799Z",
|
||
"UpdatedAt": "2026-02-18T06:17:46.077799Z",
|
||
"DeletedAt": null,
|
||
"color": "11111",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395466075911000.png",
|
||
"is_active": true
|
||
}
|
||
}
|
||
|
||
Response headers
|
||
|
||
access-control-allow-credentials: true
|
||
access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With
|
||
access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||
access-control-allow-origin: http://localhost:8080
|
||
access-control-max-age: 600
|
||
content-length: 286
|
||
content-type: application/json; charset=utf-8
|
||
date: Wed,18 Feb 2026 06:17:46 GMT
|
||
vary: Origin
|
||
|
||
##################
|
||
restore hero
|
||
curl -X 'POST' \
|
||
'http://localhost:8080/api/v1/admin/heroes/2/restore' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzE0MDU3NjYsImlhdCI6MTc3MTM5NDk2NiwiaXNfYWRtaW4iOnRydWUsInN1YiI6MiwidG9rZW5fdHlwZSI6ImFjY2VzcyJ9.pKMS0trKymCVgLZL-fTSUWB8QDAzfRVikHD_-I2iC-A' \
|
||
-d ''
|
||
|
||
Request URL
|
||
|
||
http://localhost:8080/api/v1/admin/heroes/2/restore
|
||
|
||
Server response
|
||
Code Details
|
||
200
|
||
Response body
|
||
|
||
{
|
||
"data": {
|
||
"ID": 2,
|
||
"CreatedAt": "2026-02-18T09:18:32.257+03:00",
|
||
"UpdatedAt": "2026-02-18T06:19:40.645922Z",
|
||
"DeletedAt": null,
|
||
"color": "22222",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395512255077000.png",
|
||
"is_active": true
|
||
}
|
||
}
|
||
|
||
Response headers
|
||
|
||
access-control-allow-credentials: true
|
||
access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With
|
||
access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||
access-control-allow-origin: http://localhost:8080
|
||
access-control-max-age: 600
|
||
content-length: 288
|
||
content-type: application/json; charset=utf-8
|
||
date: Wed,18 Feb 2026 06:19:40 GMT
|
||
vary: Origin
|
||
|
||
##################
|
||
hero silmek
|
||
curl -X 'DELETE' \
|
||
'http://localhost:8080/api/v1/admin/heroes/3' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzE0MDU3NjYsImlhdCI6MTc3MTM5NDk2NiwiaXNfYWRtaW4iOnRydWUsInN1YiI6MiwidG9rZW5fdHlwZSI6ImFjY2VzcyJ9.pKMS0trKymCVgLZL-fTSUWB8QDAzfRVikHD_-I2iC-A'
|
||
|
||
Request URL
|
||
|
||
http://localhost:8080/api/v1/admin/heroes/3
|
||
|
||
Server response
|
||
Code Details
|
||
200
|
||
Undocumented
|
||
|
||
Response body
|
||
|
||
{
|
||
"id": 3,
|
||
"message": "hero deleted successfully"
|
||
}
|
||
|
||
Response headers
|
||
|
||
access-control-allow-credentials: true
|
||
access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With
|
||
access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||
access-control-allow-origin: http://localhost:8080
|
||
access-control-max-age: 600
|
||
content-length: 46
|
||
content-type: application/json; charset=utf-8
|
||
date: Wed,18 Feb 2026 06:20:49 GMT
|
||
vary: Origin
|
||
|
||
##################
|
||
sadece soft delete olmuslar
|
||
curl -X 'GET' \
|
||
'http://localhost:8080/api/v1/admin/heroes?soft=only' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzE0MDU3NjYsImlhdCI6MTc3MTM5NDk2NiwiaXNfYWRtaW4iOnRydWUsInN1YiI6MiwidG9rZW5fdHlwZSI6ImFjY2VzcyJ9.pKMS0trKymCVgLZL-fTSUWB8QDAzfRVikHD_-I2iC-A'
|
||
|
||
Request URL
|
||
|
||
http://localhost:8080/api/v1/admin/heroes?soft=only
|
||
|
||
Server response
|
||
Code Details
|
||
200
|
||
Response body
|
||
|
||
{
|
||
"items": [
|
||
{
|
||
"ID": 3,
|
||
"CreatedAt": "2026-02-18T09:20:43.16+03:00",
|
||
"UpdatedAt": "2026-02-18T09:20:43.16+03:00",
|
||
"DeletedAt": "2026-02-18T09:20:49.969+03:00",
|
||
"color": "22222",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395643158537000.png",
|
||
"is_active": true
|
||
},
|
||
{
|
||
"ID": 2,
|
||
"CreatedAt": "2026-02-18T09:18:32.257+03:00",
|
||
"UpdatedAt": "2026-02-18T09:18:32.257+03:00",
|
||
"DeletedAt": "2026-02-18T09:19:05.81+03:00",
|
||
"color": "22222",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395512255077000.png",
|
||
"is_active": true
|
||
}
|
||
],
|
||
"page": 1,
|
||
"per_page": 20,
|
||
"total": 2
|
||
}
|
||
|
||
Response headers
|
||
|
||
content-length: 659
|
||
content-type: application/json; charset=utf-8
|
||
date: Wed,18 Feb 2026 06:22:05 GMT
|
||
|
||
##################
|
||
soft delete olmuslar ve silinmeyenler yani hepsi
|
||
curl -X 'GET' \
|
||
'http://localhost:8080/api/v1/admin/heroes?soft=with' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzE0MDU3NjYsImlhdCI6MTc3MTM5NDk2NiwiaXNfYWRtaW4iOnRydWUsInN1YiI6MiwidG9rZW5fdHlwZSI6ImFjY2VzcyJ9.pKMS0trKymCVgLZL-fTSUWB8QDAzfRVikHD_-I2iC-A'
|
||
|
||
Request URL
|
||
|
||
http://localhost:8080/api/v1/admin/heroes?soft=with
|
||
|
||
Server response
|
||
Code Details
|
||
200
|
||
Response body
|
||
|
||
{
|
||
"items": [
|
||
{
|
||
"ID": 3,
|
||
"CreatedAt": "2026-02-18T09:20:43.16+03:00",
|
||
"UpdatedAt": "2026-02-18T09:20:43.16+03:00",
|
||
"DeletedAt": "2026-02-18T09:20:49.969+03:00",
|
||
"color": "22222",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395643158537000.png",
|
||
"is_active": true
|
||
},
|
||
{
|
||
"ID": 2,
|
||
"CreatedAt": "2026-02-18T09:18:32.257+03:00",
|
||
"UpdatedAt": "2026-02-18T09:18:32.257+03:00",
|
||
"DeletedAt": "2026-02-18T09:19:05.81+03:00",
|
||
"color": "22222",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395512255077000.png",
|
||
"is_active": true
|
||
},
|
||
{
|
||
"ID": 1,
|
||
"CreatedAt": "2026-02-18T09:17:46.077+03:00",
|
||
"UpdatedAt": "2026-02-18T09:17:46.077+03:00",
|
||
"DeletedAt": null,
|
||
"color": "11111",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395466075911000.png",
|
||
"is_active": true
|
||
}
|
||
],
|
||
"page": 1,
|
||
"per_page": 20,
|
||
"total": 3
|
||
}
|
||
|
||
Response headers
|
||
|
||
content-length: 941
|
||
content-type: application/json; charset=utf-8
|
||
date: Wed,18 Feb 2026 06:22:49 GMT
|
||
|
||
##################
|
||
tek getiröe
|
||
curl -X 'GET' \
|
||
'http://localhost:8080/api/v1/admin/heroes/2' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzE0MDU3NjYsImlhdCI6MTc3MTM5NDk2NiwiaXNfYWRtaW4iOnRydWUsInN1YiI6MiwidG9rZW5fdHlwZSI6ImFjY2VzcyJ9.pKMS0trKymCVgLZL-fTSUWB8QDAzfRVikHD_-I2iC-A'
|
||
|
||
Request URL
|
||
|
||
http://localhost:8080/api/v1/admin/heroes/2
|
||
|
||
Server response
|
||
Code Details
|
||
200
|
||
Response body
|
||
|
||
{
|
||
"data": {
|
||
"ID": 2,
|
||
"CreatedAt": "2026-02-18T09:18:32.257+03:00",
|
||
"UpdatedAt": "2026-02-18T09:18:32.257+03:00",
|
||
"DeletedAt": "2026-02-18T09:19:05.81+03:00",
|
||
"color": "22222",
|
||
"title": "Title",
|
||
"text1": "Text1",
|
||
"text2": "Text2",
|
||
"text4": "Text4",
|
||
"text5": "Text5",
|
||
"image": "/uploads/heroes/hero-1771395512255077000.png",
|
||
"is_active": true
|
||
}
|
||
}
|
||
|
||
Response headers
|
||
|
||
content-length: 316
|
||
content-type: application/json; charset=utf-8
|
||
date: Wed,18 Feb 2026 06:24:07 GMT
|
||
|
||
##################
|
||
hero guncelleme
|
||
curl -X 'PUT' \
|
||
'http://localhost:8080/api/v1/admin/heroes/1' \
|
||
-H 'accept: application/json' \
|
||
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzE0MDU3NjYsImlhdCI6MTc3MTM5NDk2NiwiaXNfYWRtaW4iOnRydWUsInN1YiI6MiwidG9rZW5fdHlwZSI6ImFjY2VzcyJ9.pKMS0trKymCVgLZL-fTSUWB8QDAzfRVikHD_-I2iC-A' \
|
||
-H 'Content-Type: multipart/form-data' \
|
||
-F 'color=ee' \
|
||
-F 'title=ee' \
|
||
-F 'text1=ee' \
|
||
-F 'text2=ee' \
|
||
-F 'text4=ee' \
|
||
-F 'text5=ee' \
|
||
-F 'is_active=true' \
|
||
-F 'image=@accounts.jpg;type=image/jpeg'
|
||
|
||
Request URL
|
||
|
||
http://localhost:8080/api/v1/admin/heroes/1
|
||
|
||
Server response
|
||
Code Details
|
||
200
|
||
Response body
|
||
|
||
{
|
||
"data": {
|
||
"ID": 1,
|
||
"CreatedAt": "2026-02-18T09:17:46.077+03:00",
|
||
"UpdatedAt": "2026-02-18T06:25:06.633353Z",
|
||
"DeletedAt": null,
|
||
"color": "ee",
|
||
"title": "ee",
|
||
"text1": "ee",
|
||
"text2": "ee",
|
||
"text4": "ee",
|
||
"text5": "ee",
|
||
"image": "/uploads/heroes/hero-1771395906631296000.jpg",
|
||
"is_active": true
|
||
}
|
||
}
|
||
|
||
Response headers
|
||
|
||
access-control-allow-credentials: true
|
||
access-control-allow-headers: Authorization,Content-Type,Accept,Origin,X-Requested-With
|
||
access-control-allow-methods: GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||
access-control-allow-origin: http://localhost:8080
|
||
access-control-max-age: 600
|
||
content-length: 270
|
||
content-type: application/json; charset=utf-8
|
||
date: Wed,18 Feb 2026 06:25:06 GMT
|
||
vary: Origin
|
||
|
||
##################
|
||
Eklenen alanlari
|
||
"width": 0,
|
||
"height": 0,
|
||
"quality": 0,
|
||
"format": ""
|
||
|
||
|