Skip to content

firatmio/todo-app

Repository files navigation

📝 Görevlerim - Modern Todo App

Görevlerim Logo

Minimalist ve profesyonel görev yönetimi uygulaması

Version Platform React Native Expo TypeScript


📱 Ekran Görüntüleri

Ana Ekran Görev Detay Görev Ekleme

✨ Özellikler

🎯 Temel Özellikler

  • Görev Yönetimi - Görev oluşturma, düzenleme ve silme
  • 🔍 Akıllı Arama - Başlık, açıklama ve etiketlerde arama
  • 📂 Kategoriler - İş, Kişisel, Alışveriş, Sağlık ve Diğer
  • 🎨 Öncelik Seviyeleri - Yüksek, Orta, Düşük (renkli göstergeler ile)
  • 🏷️ Etiketleme Sistemi - Görevleri etiketlerle organize edin
  • ✔️ Tamamlanma Durumu - Tamamlanan görevleri filtreleyin

🎨 Kullanıcı Arayüzü

  • 💜 Modern Tasarım - Minimalist mor tema
  • 🌊 Akıcı Animasyonlar - React Native Reanimated ile
  • 📱 Responsive - Tüm ekran boyutlarına uyumlu
  • 🎭 Gesture Destekli - Modal'ı sürükleyerek kapatma
  • 🔄 Pull to Refresh - Görevleri yenilemek için çekin

💾 Veri Yönetimi

  • 💿 Yerel Depolama - AsyncStorage ile offline çalışma
  • 🔄 Otomatik Kaydetme - Tüm değişiklikler anında kaydedilir
  • 📊 İstatistikler - Aktif ve tamamlanan görev sayıları

🛠️ Teknolojiler

Frontend Framework

  • React Native 0.81.4 - Cross-platform mobile framework
  • Expo 54.0.13 - Development platform
  • TypeScript 5.9.2 - Type safety

Navigasyon

  • React Navigation 7.1.18
    • Native Stack Navigator
    • Type-safe navigation

State & Storage

  • AsyncStorage 2.2.0 - Local data persistence
  • React Hooks - Modern state management

UI & Animations

  • React Native Reanimated 4.1.3 - Smooth animations
  • Expo Vector Icons 15.0.2 - Ionicons icon set
  • Custom Theme System - Centralized design tokens

Developer Tools

  • EAS Build - Production builds
  • TypeScript - Type checking
  • Git - Version control

🚀 Kurulum

Gereksinimler

  • Node.js >= 18.0.0
  • npm veya yarn
  • Expo CLI (opsiyonel)
  • Android Studio veya Xcode (native build için)

Adımlar

  1. Projeyi klonlayın
git clone https://github.com/firatmio/todo-app.git
cd todo-app
  1. Bağımlılıkları yükleyin
npm install
# veya
yarn install
  1. Uygulamayı başlatın
npm start
# veya
expo start
  1. Platform seçimi
  • Android için: a tuşuna basın
  • iOS için: i tuşuna basın
  • Web için: w tuşuna basın

📦 Build

Development Build

npm start

Production APK (Android)

npm run build:android

Preview APK (Test)

npm run build:preview

iOS Build

npm run build:ios

📂 Proje Yapısı

todo-app/
├── 📁 src/
│   ├── 📁 components/        # Reusable components
│   │   ├── AddTodoModal.tsx  # Görev ekleme modal
│   │   ├── TodoItem.tsx      # Görev kartı
│   │   └── EmptyState.tsx    # Boş liste görünümü
│   │
│   ├── 📁 screens/           # Screen components
│   │   ├── LoadingScreen.tsx # Splash screen
│   │   ├── HomeScreen.tsx    # Ana ekran
│   │   └── TodoDetailScreen.tsx # Detay ekranı
│   │
│   ├── 📁 types/             # TypeScript types
│   │   └── todo.types.ts     # Todo interface
│   │
│   ├── 📁 utils/             # Utility functions
│   │   └── storage.ts        # AsyncStorage wrapper
│   │
│   └── 📁 constants/         # Constants & theme
│       └── theme.ts          # Design system
│
├── 📁 assets/                # Images & icons
├── 📁 screenshots/           # App screenshots
├── 📄 App.tsx                # Root component
├── 📄 app.json               # Expo config
├── 📄 eas.json               # EAS Build config
├── 📄 tsconfig.json          # TypeScript config
└── 📄 package.json           # Dependencies

🎨 Tasarım Sistemi

Renkler

Primary: #8B5CF6    // Mor
Secondary: #A78BFA  // Açık Mor
Dark: #7C3AED       // Koyu Mor

Background: #FFFFFF
Secondary BG: #F9FAFB

Text: #1F2937
Secondary Text: #6B7280
Light Text: #9CA3AF

Success: #10B981
Error: #EF4444
Warning: #F59E0B

Öncelik Renkleri

High: #EF4444    // Kırmızı
Medium: #F59E0B  // Turuncu
Low: #10B981     // Yeşil

Spacing

xs: 4px
sm: 8px
md: 16px
lg: 24px
xl: 32px
xxl: 48px

📝 Kullanım

Görev Ekleme

  1. Sağ alt köşedeki + butonuna tıklayın
  2. Görev bilgilerini girin:
    • Başlık (zorunlu)
    • Açıklama (opsiyonel)
    • Kategori seçin
    • Öncelik seviyesi belirleyin
    • Etiket ekleyin
  3. Ekle butonuna basın

Görev Düzenleme

  1. Bir göreve tıklayın
  2. Düzenle moduna geçin
  3. Bilgileri güncelleyin
  4. Kaydet butonuna basın

Filtreleme

  • Kategori: Üstteki kategori chiplerinden seçim yapın
  • Öncelik: Öncelik filtrelerini kullanın
  • Arama: Arama çubuğuna yazın
  • Tamamlanmış: Göz ikonuna tıklayarak göster/gizle

Modal Kontrolü

  • Modal'ı üstten aşağı sürükleyerek kapatabilirsiniz
  • 120px eşik değerini geçtiğinizde otomatik kapanır

🔧 Yapılandırma

Environment Variables

# .env (opsiyonel)
EXPO_PUBLIC_API_URL=your_api_url

EAS Build Profilleri

Development

{
  "developmentClient": true,
  "distribution": "internal"
}

Preview

{
  "distribution": "internal",
  "android": {
    "buildType": "apk"
  }
}

Production

{
  "autoIncrement": true,
  "android": {
    "buildType": "apk"
  }
}

🤝 Katkıda Bulunma

  1. Bu repoyu fork edin
  2. Feature branch oluşturun (git checkout -b feature/AmazingFeature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add some AmazingFeature')
  4. Branch'inizi push edin (git push origin feature/AmazingFeature)
  5. Pull Request oluşturun

📄 Lisans

Bu proje kişisel kullanım içindir. Ticari kullanım için izin gereklidir.


👨‍💻 Geliştirici

Fırat Tuna Arslan


🙏 Teşekkürler


⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!

Made with 💜 by Fırat Tuna Arslan

About

Minimalist ve profesyonel görev yönetimi uygulaması

Resources

Stars

Watchers

Forks

Contributors