-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
85 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# BlogOnContainers | ||
|
||
|
||
Kullanıcıların blog gönderilerini görüntülemesine/yönetmesine olanak tanıyan REST API'lerin oluşturulması. Mevcut tüm blog gönderilerini ve gönderi oluşturma, güncelleme ve silme işlemlerini göstermek için API yöntemleri sağlanması. | ||
|
||
|
||
### Çalıştırma (Running) | ||
--- | ||
`docker compose up` -> //container'ları kaldırmak için kullanabilirsiniz. <br> | ||
`docker compose down` -> //container'ları silmek için kullanabilirsiniz. Image'lar silinmez. | ||
|
||
|
||
### Teknik Detaylar | ||
--- | ||
- Database olarak `mongoDB` kullanılmıştır. | ||
- Web Framework olarak `Gin` kullanımıştır. | ||
- `JWT (JSON Web Tokens)` kullanılmıtır. | ||
|
||
### Kullanım | ||
--- | ||
`POST /user # Kullanıcı Kayıt` <br> | ||
`POST /login # Giriş` <br> | ||
`POST /api/blog # Hikaye Oluşturma` <br> | ||
`POST /api/blog/:id # Hikaye Güncelleme` <br> | ||
`DELETE /api/blog/:id # Hikaye Silme` <br> | ||
`GET /api/blog/ # Tüm Hikayeleri Alma` <br> | ||
`GET /api/blog/:id # Belirli Bir Hikaye Alma` <br> | ||
|
||
##### Templates | ||
`http://localhost:5000/loginpage # Giriş için UI` <br> | ||
`http://localhost:5000/registerpage # Kayıt için UI` <br> | ||
`http://localhost:5000/storypage # Hikaye için UI` <br> | ||
|
||
|
||
|
||
|
||
##### Request User Example | ||
|
||
` curl -X POST http://localhost:5000/user | ||
-H 'Content-Type: application/json' | ||
-d '{"UserName": "admin","Password": "admin"}' | ||
` | ||
###### Response | ||
|
||
``` | ||
{ | ||
"Data": null, | ||
"Status": 200, | ||
"Error": null, | ||
"Message": "User created" | ||
} | ||
``` | ||
|
||
##### Request Login Example | ||
` curl -X POST http://localhost:5000/login | ||
-H 'Content-Type: application/json' | ||
-d '{"UserName": "admin","Password": "admin"}' | ||
` | ||
###### Response | ||
``` | ||
{ | ||
"Data": "{ JWT }", | ||
"Status": 200, | ||
"Error": null, | ||
"Message": "token created" | ||
} | ||
``` | ||
|
||
##### Request Story Example | ||
` curl -X POST http://localhost:5000/api/blog | ||
-H 'Content-Type: application/json' | ||
-d '{"Title":"Örnek Başlık","Content":"Örnek İçerik "}' | ||
` | ||
###### Response | ||
``` | ||
{ | ||
"Data": { | ||
"Title": "Örnek Başlık", | ||
"Content": "Örnek İçerik " | ||
}, | ||
"Status": 201, | ||
"Error": null, | ||
"Message": "story created" | ||
} | ||
``` |