Basit ve kullanışlı not alma uygulaması
Flutter ile yapılmış, 5 farklı tema ve Türkçe/İngilizce dil desteği olan mobil uygulama
Bu proje, Flutter kullanılarak yapılmış bir not alma uygulamasıdır. Kullanıcılar not yazabilir, ses kaydı yapabilir, çizim ekleyebilir ve fotoğraf ekleyebilir.
- ✅ Not Yazma - Metin notları oluşturma
- ✅ Ses Kaydı - Sesli notlar kaydetme
- ✅ Çizim - Parmakla çizim yapma
- ✅ Fotoğraf - Resim ekleme
- ✅ 5 Tema - Farklı renk seçenekleri
- ✅ 2 Dil - Türkçe ve İngilizce
Tema | Açıklama |
---|---|
🌙 Neon Cyber | Mavi neon renkler (Gece) |
🌃 Klasik Gece | Koyu mor tema (Gece) |
❄️ Arctic Buzul | Mavi tonlar (Gündüz) |
⚪ Minimalist Gri | Gri tonlar (Gündüz) - Varsayılan |
🌿 Doğa Uyumu | Yeşil tonlar (Gündüz) |
Nasıl Çalışır:
- Tema değişikliği anında olur
- Gece temaları otomatik koyu mod yapar
- Seçim cihazda kaydedilir
- 🇹🇷 Türkçe - Varsayılan dil
- 🇺🇸 İngilizce - İkinci dil
Nasıl Çalışır:
- Dil değişikliği anında olur
- Tüm yazılar seçilen dilde görünür
- Seçim cihazda kaydedilir
- ✏️ Metin - Yazı yazma
- 🎤 Ses - Ses kaydı
- 🎨 Çizim - Parmakla çizim
- 📷 Fotoğraf - Resim ekleme
- 📎 Dosya - Her türlü dosya
- 📍 Konum - GPS ile yer ekleme
- ✅ Liste - Madde işaretli listeler
- 🔗 Bağlantı - Notları birbirine bağlama
- ⏰ Hatırlatıcı - Tarih ve saat hatırlatması
- 📅 Takvim - Notları takvimde görme
- 🗺️ Mind Map - Notları görsel olarak bağlama
- 📊 Dışa Aktarma - PDF ve Excel olarak kaydetme
- 🔍 Arama - Notlarda arama yapma
- 🏷️ Kategori - Notları gruplandırma
- 📌 Pinleme - Önemli notları üstte tutma
lib/
├── 📁 controllers/ # İş mantığı
│ ├── notes_controller.dart # Not yönetimi
│ ├── auth_controller.dart # Kimlik doğrulama
│ ├── calendar_controller.dart # Takvim işlemleri
│ ├── friends_controller.dart # Arkadaş yönetimi
│ └── settings_controller.dart # Ayarlar yönetimi
│
├── 📁 models/ # Veri yapıları
│ ├── note_model.dart # Not veri yapısı
│ ├── user_model.dart # Kullanıcı veri yapısı
│ ├── calendar_event_model.dart # Takvim olayları
│ ├── friend_model.dart # Arkadaş veri yapısı
│ ├── linked_note_model.dart # Bağlantılı notlar
│ ├── location_model.dart # Konum bilgileri
│ ├── mindmap_model.dart # Mind map verileri
│ ├── notification_model.dart # Bildirim verileri
│ ├── reminder_model.dart # Hatırlatıcı verileri
│ ├── saved_address_model.dart # Kaydedilen adresler
│ └── note_permission_model.dart # Not izinleri
│
├── 📁 services/ # Servisler
│ ├── database/ # Veritabanı işlemleri
│ │ └── database_service.dart # Ana veritabanı servisi
│ ├── theme_service.dart # Tema yönetimi
│ ├── language_service.dart # Dil yönetimi
│ ├── audio_service.dart # Ses işlemleri
│ ├── drawing_service.dart # Çizim işlemleri
│ ├── export_service.dart # Dışa aktarma
│ ├── file_service.dart # Dosya işlemleri
│ ├── friend_sync_service.dart # Arkadaş senkronizasyonu
│ ├── list_service.dart # Liste işlemleri
│ ├── location_service.dart # Konum işlemleri
│ ├── note_permission_service.dart # Not izinleri
│ ├── notification_service.dart # Bildirim işlemleri
│ ├── saved_address_service.dart # Adres yönetimi
│ ├── share_service.dart # Paylaşım işlemleri
│ └── translation_service.dart # Çeviri işlemleri
│
├── 📁 views/ # Ekranlar
│ ├── auth/ # Giriş/kayıt ekranları
│ │ ├── login_screen.dart # Giriş ekranı
│ │ ├── register_screen.dart # Kayıt ekranı
│ │ ├── auth_wrapper.dart # Kimlik doğrulama sarmalayıcısı
│ │ └── forgot_password_screen.dart # Şifre sıfırlama
│ ├── notes/ # Not ekranları
│ │ ├── note_screen.dart # Ana not ekranı
│ │ ├── note_edit_screen.dart # Not düzenleme
│ │ ├── note_detail_screen.dart # Not detayı
│ │ ├── note_card_widget.dart # Not kartı
│ │ ├── note_list_widget.dart # Not listesi
│ │ ├── note_grid_widget.dart # Not grid görünümü
│ │ ├── note_search_widget.dart # Not arama
│ │ ├── note_filter_widget.dart # Not filtreleme
│ │ └── note_sort_widget.dart # Not sıralama
│ ├── settings/ # Ayarlar ekranları
│ │ ├── settings_screen.dart # Ana ayarlar
│ │ ├── account_settings_screen.dart # Hesap ayarları
│ │ ├── theme_selector_screen.dart # Tema seçici
│ │ ├── language_selector_screen.dart # Dil seçici
│ │ ├── notification_settings_screen.dart # Bildirim ayarları
│ │ └── privacy_settings_screen.dart # Gizlilik ayarları
│ ├── calendar/ # Takvim ekranı
│ │ └── calendar_screen.dart # Ana takvim ekranı
│ ├── friends/ # Arkadaş ekranları
│ │ ├── friends_screen.dart # Arkadaş listesi
│ │ └── friend_profile_screen.dart # Arkadaş profili
│ ├── drawing/ # Çizim ekranı
│ │ └── drawing_screen.dart # Çizim yapma ekranı
│ ├── list/ # Liste ekranı
│ │ └── list_editor_screen.dart # Liste düzenleme
│ ├── map/ # Harita ekranı
│ │ └── map_screen.dart # Konum haritası
│ ├── mindmap/ # Mind map ekranı
│ │ └── mindmap_screen.dart # Mind map görünümü
│ ├── linked_notes/ # Bağlantılı notlar
│ │ ├── linked_notes_screen.dart # Bağlantılı notlar listesi
│ │ ├── linked_notes_editor_screen.dart # Düzenleme
│ │ ├── mind_map_screen.dart # Mind map ekranı
│ │ └── note_relationship_screen.dart # Not ilişkileri
│ ├── notification/ # Bildirim ekranları
│ │ ├── notifications_screen.dart # Bildirim listesi
│ │ └── notification_detail_screen.dart # Bildirim detayı
│ └── home/ # Ana ekran
│ └── home_screen.dart # Ana sayfa
│
├── 📁 widgets/ # Bileşenler
│ ├── note_card_widget.dart # Not kartı
│ ├── custom_button.dart # Özel buton
│ ├── custom_text_field.dart # Özel metin alanı
│ ├── audio_player_widget.dart # Ses oynatıcı
│ ├── audio_recorder_widget.dart # Ses kaydedici
│ ├── drawing_widget.dart # Çizim widget'ı
│ ├── file_picker_widget.dart # Dosya seçici
│ ├── image_viewer_widget.dart # Resim görüntüleyici
│ ├── list_widget.dart # Liste widget'ı
│ ├── empty_state_widget.dart # Boş durum gösterici
│ ├── theme_toggle_widget.dart # Tema değiştirici
│ ├── attachments_widget.dart # Ek dosya gösterici
│ └── note_edit_widgets.dart # Not düzenleme widget'ları
│
├── 📁 themes/ # Temalar
│ ├── theme_service.dart # Tema servisi
│ ├── light_theme.dart # Açık tema
│ ├── dark_theme.dart # Koyu tema
│ └── themes.dart # Tema yardımcıları
│
├── 📁 translations/ # Diller
│ └── app_translations.dart # Çeviri dosyası
│
├── 📁 utils/ # Yardımcılar
│ ├── constants.dart # Sabitler
│ ├── ui_helpers.dart # UI yardımcıları
│ ├── validators.dart # Doğrulama fonksiyonları
│ └── extensions.dart # Dart uzantıları
│
├── 📁 routes/ # Sayfa yönlendirmeleri
│ └── app_routes.dart # Uygulama rotaları
│
└── 📄 main.dart # Ana dosya
Tablo Adı | Açıklama | Alan Sayısı |
---|---|---|
users | Kullanıcı bilgileri | 6 alan |
notes | Ana not verileri | 20 alan |
note_tags | Not etiketleri | 3 alan |
saved_addresses | Kaydedilen adresler | 9 alan |
note_permissions | Not paylaşım izinleri | 6 alan |
notifications | Bildirimler | 7 alan |
calendar_events | Takvim olayları | 12 alan |
linked_notes | Not bağlantıları | 5 alan |
- id (PRIMARY KEY)
- fullName (Ad Soyad)
- email (E-posta)
- password (Şifre - Hash'lenmiş)
- phone (Telefon)
- createdAt (Oluşturulma Tarihi)
- id (PRIMARY KEY)
- userId (Kullanıcı ID - FOREIGN KEY)
- title (Başlık)
- content (İçerik)
- date (Tarih)
- category (Kategori)
- reminderDate (Hatırlatma Tarihi)
- location (Konum)
- imagePath (Resim Yolu)
- imageUrl (Resim URL)
- audioPath (Ses Yolu)
- drawingPath (Çizim Yolu)
- attachments (Ek Dosyalar)
- listData (Liste Verisi)
- mapData (Harita Verisi)
- type (Tür: personal/shared/team)
- isPinned (Pinlenmiş mi?)
- color (Renk)
- id (PRIMARY KEY)
- noteId (Not ID - FOREIGN KEY)
- tag (Etiket Adı)
- id (PRIMARY KEY)
- title (Başlık)
- address (Adres)
- latitude (Enlem)
- longitude (Boylam)
- description (Açıklama)
- createdAt (Oluşturulma Tarihi)
- userId (Kullanıcı ID - FOREIGN KEY)
- id (PRIMARY KEY)
- noteId (Not ID - FOREIGN KEY)
- userId (Kullanıcı ID - FOREIGN KEY)
- permission (İzin Türü: read/write/admin)
- grantedAt (Verilme Tarihi)
- expiresAt (Bitiş Tarihi)
- id (PRIMARY KEY)
- title (Başlık)
- content (İçerik)
- type (Tür: system/reminder/note)
- relatedNoteId (İlgili Not ID)
- createdAt (Oluşturulma Tarihi)
- isRead (Okundu mu?)
- userId (Kullanıcı ID - FOREIGN KEY)
- id (PRIMARY KEY)
- title (Başlık)
- description (Açıklama)
- startDateTime (Başlangıç Tarihi)
- endDateTime (Bitiş Tarihi)
- type (Tür: note/reminder/event)
- relatedNoteId (İlgili Not ID)
- recurrenceRule (Tekrarlama Kuralı)
- isAllDay (Tüm Gün mü?)
- color (Renk)
- userId (Kullanıcı ID - FOREIGN KEY)
- createdAt (Oluşturulma Tarihi)
- id (PRIMARY KEY)
- sourceNoteId (Kaynak Not ID - FOREIGN KEY)
- targetNoteId (Hedef Not ID - FOREIGN KEY)
- relationshipType (İlişki Türü)
- createdAt (Oluşturulma Tarihi)
GetX, uygulamanın durumunu yöneten bir araçtır.
Ne İşe Yarar:
- Uygulama verilerini tutar
- Değişiklikleri otomatik günceller
- Hızlı çalışır
SQLite, verileri cihazda saklayan bir sistemdir.
Ne İşe Yarar:
- Notları kaydeder
- Kullanıcı bilgilerini tutar
- Hızlı erişim sağlar
Google'ın modern tasarım sistemidir.
Ne İşe Yarar:
- Güzel görünüm sağlar
- Kolay kullanım
- Gece modu desteği
- ✅ Flutter 3.1.0+
- ✅ Android Studio veya VS Code
- ✅ Git
- Projeyi İndirin
git clone https://github.com/bayramasli/app_note.git
cd app_note
- Paketleri Yükleyin
flutter pub get
- Çalıştırın
flutter run
- 📱 Android - Telefon ve tablet
- 🍎 iOS - iPhone ve iPad
- 🌐 Web - Tarayıcı
- 💻 Desktop - Bilgisayar
- Ayarlar → Tema Ayarları
- İstediğiniz temayı seçin
- ✅ Değişiklik hemen olur
- Ayarlar → Dil Ayarları
- 🇹🇷 Türkçe veya 🇺🇸 İngilizce seçin
- ✅ Tüm yazılar değişir
- Ana ekranda "+" butonuna tıklayın
- Başlık ve içerik yazın
- Medya ekleyin (resim, ses, çizim)
- Kaydet butonuna tıklayın
- Üst arama çubuğuna yazın
- Gerçek zamanlı sonuçlar görünür
- Filtreleme seçenekleri kullanın
Bilgi | Değer |
---|---|
Toplam Dosya | 100+ dosya |
Kod Satırı | 15,000+ satır |
Paket Sayısı | 25+ paket |
Tema Sayısı | 5 tema |
Dil Sayısı | 2 dil |
Platform | 4 platform |
Bu proje MIT lisansı altındadır.
MIT Lisansı Ne Demek:
- ✅ Özgür Kullanım - İstediğiniz gibi kullanabilirsiniz
- ✅ Değiştirme - Kodu değiştirebilirsiniz
- ✅ Paylaşım - Başkalarıyla paylaşabilirsiniz