Bu proje, kullanıcıların yapılacaklar listesi oluşturabildiği ve adım adım yönetebildiği bir RESTful API uygulamasıdır. GoLang dilinde yazılmıştır ve JWT ile kimlik doğrulama yapılmaktadır.
- Kullanıcılar yapılacaklar listesi oluşturabilir.
- Her listeye adımlar (steps) eklenebilir.
- Adımlar güncellenebilir (tamamlandı olarak işaretlenebilir).
- Soft delete özelliği ile veri gerçekten silinmez, sadece gösterimden kaldırılır.
- JWT token ile kimlik doğrulama yapılır.
- Kullanıcı rolleri:
user: sadece kendi verilerini görebilir.admin: tüm kullanıcıların verilerini görebilir.
- GoLang
- Gorilla Mux Router
- JWT (github.com/golang-jwt/jwt/v5)
- Mock veri yapıları (veritabanı kullanılmamıştır)
| Kullanıcı Adı | Şifre | Rol |
|---|---|---|
| user1 | 1234 | user |
| admin | admin | admin |
git clone <repo-url>
cd todo-app
go mod init todo-app
go get github.com/gorilla/mux
go get github.com/golang-jwt/jwt/v5
go run main.go controller.go model.goPOST /login
Giriş yapmak için kullanılır.
{
"username": "user1",
"password": "1234"
}✅ Yanıt:
{ "token": "..." }POST /todo
JWT gerekli.
{ "name": "Yaz stajı görevleri" }GET /todos
usersadece kendi listelerini görür.admintüm listeleri görebilir.
POST /todo/{id}/steps
{ "content": "JWT kontrol edildi mi?" }PUT /steps/{id}
{ "done": true }DELETE /steps/{id}
DELETE /todo/{id}
main.go→ HTTP sunucu ve routercontroller.go→ Tüm endpoint’ler ve JWT middlewaremodel.go→ Struct'lar ve mock veri
- Bu proje veritabanı kullanmaz. Veriler hafızada tutulur (mock).
- Clean Code ve MVC yaklaşımına dikkat edilmiştir.
- Geliştirme amacıyla yapılmıştır.