Skip to content

A simple cross-platform note app to create, edit, and share notes. | Not oluşturma, düzenleme ve paylaşma imkanı sunan basit bir çapraz platform not uygulaması.

License

Notifications You must be signed in to change notification settings

Mali03/FlutterNoteApp

Repository files navigation

Flutter Note App | Flutter Not Uygulaması 📝

Flutter Dart Firebase

EN - A simple note-taking application built with Flutter and Firebase.

TR - Flutter ve Firebase ile geliştirilmiş basit bir not alma uygulaması.

🌍 Languages

You can select your preferred languages below:

English

The app supports user authentication (Login, Register), real-time storage of notes, and basic note management features (create, edit, delete and share note).

🧾 Contents

🔍 Features

  • Email / password authentication
  • Register, Login, Email Verification, Forgot Password flows
  • Notes stored in Firebase (Firestore)
  • Share notes via system share sheet
  • Multi-platform compatibility (Mobile, Web, Desktop)

🛠 Getting Started

Prerequisites

  • Flutter SDK
  • Android Studio or Xcode (for device/emulator)
  • A Firebase project

Installation

  1. Clone the repo:
git clone https://github.com/Mali03/FlutterNoteApp.git
cd FlutterNoteApp
  1. Get packages:
flutter pub get
  1. Configure Firebase:

For Android:

  • Add an Android app in Firebase with your package name

  • Download google-services.json and place it in android/app/

  • Add Firebase config in android/build.gradle and android/app/build.gradle as per FlutterFire docs

For iOS:

  • Add an iOS app in Firebase with your bundle identifier

  • Download GoogleService-Info.plist and place it in ios/Runner/

  • Run pod install in ios/

Follow official FlutterFire setup docs for exact steps: https://firebase.flutter.dev/ (recommended)

  1. Run the app:
flutter run

💾 Previous Version (Local Storage with SQLite)

The current version of this app uses Firebase (cloud-based) for note storage.
If you would like to see the earlier implementation that used local storage with SQLite (sqflite), you can check out commit f984f70.

That version demonstrates how CRUD operations were handled locally using the sqflite package before migrating to Firebase.

Note: the old SQLite-related files are still present in the project under lib/services/crud/, but they are no longer used in the current Firebase-based implementation.

🌐 Used Technologies

  • Flutter & Dart (Cross-platform app development)
  • Firebase (Authentication, Firestore database, Analytics)
  • Sqflite (Local SQLite storage – old version)
  • Share Plus (Share notes via system sheet)
  • Path & Path Provider (File system access)
  • Flutter Launcher Icons (App icons for Android & iOS)
  • Cupertino Icons (iOS-style icons)
  • Flutter Lints & Test (Code quality and unit testing)

📚 License

This project is licensed under the MIT License - see the LICENSE file for details.

❓ Need Help

If you need any help contact me on LinkedIn.

Türkçe

Uygulama, kullanıcı kimlik doğrulamasını (Giriş yap, Kayıt ol), notların gerçek zamanlı olarak saklanmasını ve temel not yönetim özelliklerini (oluşturma, düzenleme, silme ve paylaşma) destekler.

🧾 İçerikler

🔍 Özellikler

  • Email / şifre ile kimlik doğrulama
  • Kayıt olma, Giriş yapma, Email doğrulama ve Şifremi unuttum akışları
  • Firebase (Firestore) üzerinde saklanan notlar
  • Notları sistem paylaşım sayfası üzerinden paylaşma
  • Çoklu platform desteği (Mobil, Web, Desktop)

🛠 Kurulum ve Çalıştırma

Gereksinimler

  • Flutter SDK
  • Android Studio veya Xcode (cihaz/emülatör için)
  • Bir Firebase projesi

Kurulum

  1. Bu repository'i klonla:
git clone https://github.com/Mali03/FlutterNoteApp.git
cd FlutterNoteApp
  1. Paketleri yükleyin:
flutter pub get
  1. Firebase’i yapılandırın:
  • https://console.firebase.google.com/ adresinde bir Firebase projesi oluşturun

  • Authentication → Email/Password özelliğini etkinleştirin

  • Firestore veritabanı oluşturun (geliştirme sırasında test modunda başlatabilirsiniz)

Android için:

  • Firebase’e Android uygulamanızı paket adınız ile ekleyin

  • google-services.json dosyasını indirip android/app/ klasörüne yerleştirin

  • FlutterFire dokümantasyonuna göre android/build.gradle ve android/app/build.gradle dosyalarını yapılandırın

iOS için:

  • Firebase’e iOS uygulamanızı bundle identifier ile ekleyin

  • GoogleService-Info.plist dosyasını indirip ios/Runner/ klasörüne yerleştirin

  • ios/ klasöründe pod install komutunu çalıştırın

Tam adımlar için resmi FlutterFire kurulum dokümantasyonunu takip edin: https://firebase.flutter.dev/ (önerilir)

  1. Uygulamayı çalıştırın:
flutter run

💾 Önceki Sürüm (SQLite ile Yerel Depolama)

Bu uygulamanın mevcut sürümü, notları saklamak için Firebase (bulut tabanlı) kullanmaktadır. Eğer SQLite (sqflite) ile yerel depolama kullanılan eski uygulamayı görmek isterseniz, f984f70 commit’ine göz atabilirsiniz.

Bu sürüm, Firebase’e geçmeden önce CRUD işlemlerinin sqflite paketi kullanılarak nasıl yapıldığını göstermektedir.

Not: Eski SQLite ile ilgili dosyalar hâlâ projede lib/services/crud/ klasörü altında bulunmaktadır, ancak mevcut Firebase tabanlı sürümde artık kullanılmamaktadır.

🌐 Kullanılan Teknolojiler

  • Flutter & Dart (Çapraz platform uygulama geliştirme)
  • Firebase (Kimlik doğrulama, Firestore veritabanı, Analitik)
  • Sqflite (Yerel SQLite depolama – eski sürüm)
  • Share Plus (Notları sistem paylaşım sayfası ile paylaşma)
  • Path & Path Provider (Dosya sistemi erişimi)
  • Flutter Launcher Icons (Android ve iOS için uygulama ikonları)
  • Cupertino Icons (iOS tarzı ikonlar)
  • Flutter Lints & Test (Kod kalitesi ve testler)

📚 Lisans

Bu proje MIT Lisans altında lisanslanmıştır - detaylar için LICENSE dosyasını incele.

❓ Yardım

Eğer bir yardıma ihtiyacın varsa bana LinkedIn üzerinden ulaş.

About

A simple cross-platform note app to create, edit, and share notes. | Not oluşturma, düzenleme ve paylaşma imkanı sunan basit bir çapraz platform not uygulaması.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published