Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hallil-todo 📝

Bir süre önce fark ettim ki, her gün yapacaklarımı kafamda tutmaya çalışıyorum — ders notları, ödevler, küçük yazılım fikirleri... Hepsini aynı anda düşünmeye çalışmak gerçekten yorucu. Telefondaki not uygulamaları çok basit geldi, hazır todo uygulamaları ise fazla şişirilmiş hissettirdi. Sonunda dedim ki: "Bunu kendim yapayım, tam istediğim gibi."

İşte hallil-todo bu yüzden doğdu. Kodlamayı öğrenirken gerçek bir ürün de ortaya koyabilmek istiyordum. React, Node.js, SQLite gibi teknolojileri teoride değil, pratikte öğrenmenin en iyi yolunun bu olduğuna inandım.


🎯 Ne yapıyor?

Temel bir görev listesinden çok daha fazlası:

  • ✅ Görev ekleme, silme, tamamlama
  • 🏷️ Her görev için öncelik seviyesi (Düşük / Orta / Yüksek)
  • 📁 Kategori seçimi (Kişisel / İş / Okul / Yazılım)
  • 🖱️ Sürükle-bırak ile sıralama — en önemli işi en üste al
  • ✅ Tamamlananlar ayrı bir bölümde görünsün, karışmasın
  • 🌙 Dark / Light Mode — geceleri göz yanmasın
  • ⏱️ Pomodoro zamanlayıcısı — 25dk çalış, 5dk mola ver
  • 📊 Günlük istatistikler — kaç iş kaldı, kaçını bitirdin
  • 💾 Veriler SQLite'ta kalıcı olarak saklıyor, tarayıcı kapansa da kaybolmuyor

🛠️ Kullanılan teknolojiler

Katman Teknoloji
Frontend React + Vite
Stil Tailwind CSS
Animasyonlar Framer Motion
Drag & Drop @hello-pangea/dnd
İkonlar Lucide React
Backend Node.js + Express
Veritabanı SQLite (sqlite3)

🚀 Kurulum

1. Repoyu klonla

git clone https://github.com/kullaniciadin/hallil-todo.git
cd hallil-todo

2. Backend bağımlılıklarını kur

cd backend
npm install

3. Frontend bağımlılıklarını kur

cd ../frontend
npm install

4. Başlat!

# Proje kök dizininden:
chmod +x start.sh
./start.sh

Tarayıcıda aç: http://localhost:5173

Backend 5000, Frontend 5173 portunu kullanıyor.


📁 Proje yapısı

hallil-todo/
├── backend/
│   └── src/
│       ├── index.js                  # Express sunucusu ve DB başlangıcı
│       ├── db/setup.js               # SQLite bağlantısı
│       ├── routes/taskRoutes.js      # API rotaları
│       └── controllers/
│           └── taskController.js    # CRUD işlemleri
├── frontend/
│   └── src/
│       ├── App.jsx                   # Ana uygulama mantığı
│       └── components/
│           ├── TaskInput.jsx         # Görev ekleme formu
│           ├── TaskList.jsx          # Sürükle-bırak listesi
│           ├── TaskItem.jsx          # Tekil görev kartı
│           ├── Pomodoro.jsx          # 25/5 zamanlayıcı
│           ├── Stats.jsx             # İstatistik kartları
│           └── ThemeToggle.jsx       # Tema değiştiricisi
├── start.sh                          # Tek komutla başlatma
└── README.md

📸 Ekran görüntüleri

(Yakında eklenecek)


🤔 Neden SQLite?

Sunucu kurmak istemedim, PostgreSQL ya da MongoDB fazla gelirdi bu proje için. SQLite dosya tabanlı çalışıyor — hızlı, kurulumu sıfır, küçük projeler için ideal. Veri kaybolmuyor, her şey database.sqlite dosyasına yazılıyor.


📌 Yapılacaklar (Roadmap)

  • Görev düzenleme (başlık, öncelik güncelleme)
  • Bitiş tarihi ekleme
  • Tarayıcı bildirimleri (görev hatırlatıcı)
  • Haftalık üretkenlik grafiği

🙏 Teşekkür

Bu projeyi yaparken React dökümanları, Stack Overflow ve birkaç YouTube videosuyla hayatta kaldım. Umarım başkasına da faydalı olur.


Halil tarafından yapıldı — öğrenmek için.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages