DearDiary, günlüklerinizi yazabileceğiniz, ruh halinizi takip edebileceğiniz ve zaman içinde kendinizi daha yakından tanımanıza yardımcı olacak modern bir mobil günlük uygulamasıdır.
-
✍️ Günlük Yazma
Günlüklerinizi kolayca yazabilir, geçmişe dönüp anılarınızı gözden geçirebilirsiniz. -
😊 Duygu Takibi
- Emojiler ile manuel ruh hali seçimi
- 🧠 Makine öğrenmesi destekli otomatik duygu analizi (metinden ruh hali tespiti)
-
📊 İstatistikler
Günlük ruh hali değişimlerinizi grafiklerle takip edin. -
🔐 Gizlilik
PIN ve uygulama kilidi ile verilerinizi koruyun.
Uygulamanın backend servisine aşağıdaki bağlantıdan ulaşabilirsiniz:
👉 Backend Repository
- PIN koruması
- Parmak izi kilidi
- Kotlin: Uygulama programlama dili.
- Jetpack Compose: Kullanıcı arayüzü oluşturmak için modern Android araç takımı.
- Navigation Component: Sayfa geçişlerinin yönetimi.
- Room Database: Lokal veritabanı işlemlerin gerçekleştirilmesi.
- Data Store: Anahtar/değer çiftlerini veya türlenmiş nesneleri depolanmasını sağlayan bir veri depolama çözümüdür.
- Dagger Hilt Dependency Injection (Bağımlılık Enjeksiyonu): Hilt, bağımlılıkları merkezi bir yerde tanımlayıp yöneterek kod tekrarını azaltır ve kodun okunabilirliğini artırır. Aynı zamanda test edilebilirliği kolaylaştırır ve uygulamanın daha modüler bir yapıya kavuşmasını sağlar.
- Coroutines: işlemleri ana iş parcacığından (main thread) ayırarak arka planda çalışmasını sağlar. Bu sayede uzun süren işlemler (ağ istekleri, veritabanı işlemleri vs.) sırasında uygulamanın kullanıcı arayüzünün donmasını engeller.
- Splash Screen: Uygulamanın başlatılma sürecinde kullanıcıya görsel bir geçiş sağlar ve uygulamanın daha hızlı açılabilmesi için arka planda işlemler yapılırken kullanıcıyı bilgilendirir.
- Notification: Kullanıcılara uygulama hakkında önemli bilgiler, güncellemeler veya hatırlatıcılar göndermeyi sağlayan bir mekanizmadır.
- Retrofit2: Ağ istekleri gerçekleştirme sürecini basitleştiren, güvenli bir HTTP istemci kütüphanesidir.
- Lottie Files: Lottie, vektör grafik animasyonu için bir dosya formatıdır.
- Biometric: Uygulamanızın desteklediği kimlik doğrulama türlerini (parmak izi, yüz tanıma vb.) tanımlamak için kullanılır.
- Serilizatiom: Sınıf adını ve nesneleri koruyarak karşılık gelen değerleri oluşturur.
- WorkManager: Esnek planlama aralıkları kullanarak çalışmaları tek seferlik veya tekrar tekrar çalıştıracak şekilde planlamanıza olanak tanır. (Remind bildirimi için kullanıldı.)
- MPAndroidChar: Güçlü bir veri grafik kütüphanesidir.
- Bu projeyi klonlayın:
git clone https://github.com/umutsaydam/DearDiaryApp.git
- Android Studio'da açın.
Gradle Sync
işlemini gerçekleştirin.- Uygulamayı çalıştırın.
Katkıda bulunmak istiyorsanız, bir pull request
gönderin veya bir issue
açın. Katkılarınız memnuniyetle karşılanacaktır!
Bilgi için LICENSE
dosyasına göz atabilirsiniz.
DearDiary is a modern mobile diary app that lets you write your daily thoughts, track your mood, and reflect on your emotions over time.
-
✍️ Daily Journaling
Easily write your entries and revisit your memories. -
😊 Mood Tracking
- Manual mood selection with emojis
- 🧠 AI-powered automatic mood detection from your diary text
-
📊 Statistics
Visualize your emotional trends over time. -
🔐 Privacy
PIN and biometric lock to protect your data.
You can access the backend service from the link below:
👉 Backend Repository
- PIN protection
- Biometric authentication
- Kotlin: The programming language used for the application.
- Jetpack Compose: A modern Android toolkit for building user interfaces.
- Navigation Component: Manages navigation and screen transitions.
- Room Database: Handles local database operations.
- Data Store: A data storage solution for storing key-value pairs or typed objects.
- Dagger Hilt Dependency Injection: Hilt helps define and manage dependencies in a centralized way, reducing code duplication and increasing readability. It also enhances testability and supports a more modular architecture.
- Coroutines: Allows operations to run in the background by separating them from the main thread. This prevents the UI from freezing during long-running tasks like network or database operations.
- Splash Screen: Provides a visual transition while the app is launching, informing the user while background operations are performed to speed up app startup.
- Notification: A mechanism to send users important updates, reminders, or alerts about the application.
- Retrofit2: A secure HTTP client library that simplifies network request handling.
- Lottie Files: A file format for rendering vector graphic animations.
- Biometric: Used to define the authentication types supported by the app (e.g., fingerprint, facial recognition).
- Serialization: Preserves class names and objects to generate corresponding values.
- WorkManager: Allows you to schedule work to run once or periodically using flexible timing options. (Used for reminder notifications.)
- MPAndroidChart: A powerful data charting library.
- Clone the project:
git clone https://github.com/umutsaydam/DearDiaryApp.git
- Open with Android Studio
- Perform
Gradle Sync
- Run the app
Feel free to open an issue
or submit a pull request
. Contributions are always welcome!
See LICENSE
file for details.