MoodDoodle
Flutter-based Mood Tracking & Journaling App
A comprehensive mood tracking application with drawing capabilities and multi-language support
MoodDoodle is a Flutter-based mood tracking and journaling app that combines traditional journaling with creative expression through drawings. Track your emotions, record your thoughts, and express yourself through art, all in one beautiful, multilingual application.
π Core Features
π Journal Entries
Create detailed journal entries with mood tracking, text content, and optional drawings. Each entry supports both written thoughts and artistic expression.
π¨ Drawing Canvas
Interactive drawing widget with color palette, adjustable stroke width, undo/redo functionality, and support for freehand drawing with multiple colors and tools.
π Statistics & Analytics
Visual mood trends, calendar integration, and comprehensive mood tracking over time to help you understand your emotional patterns.
π¬ Daily Motivations
Daily motivational content with quotes, images, and inspiring messages to keep you motivated on your wellness journey.
π Security
Biometric authentication support for secure access to your personal journal entries and drawings.
πΎ Backup & Restore
Complete data export/import functionality including drawing images for data portability and backup.
π Internationalization (i18n)
Full multi-language support with Flutter internationalization:
English
Default language
Spanish
Full translation
Portuguese
Full translation
Implementation: Uses ARB (Application Resource Bundle) files, automatic code generation via flutter gen-l10n, persistent language selection via SharedPreferences, and real-time language switching throughout the app.
ποΈ Technical Architecture
State Management
Uses Provider pattern for reactive state management throughout the application.
Database
SQLite via sqflite package for local data persistence with indexed queries on created_at and date fields.
Data Models
- JournalEntry: Stores journal entries with mood, content, and optional drawing paths
- DailyMotivation: Stores motivational quotes with author and images
Services Layer
- DatabaseService: Singleton pattern for database operations
- MotivationService: Handles fetching and caching daily motivational content
- BackupService: Manages complete data export/import functionality
- LanguageService: Manages app locale with Provider pattern
π± Screen Organization
π HomeScreen
Main entry point with calendar view and recent entries display
π JournalEntryScreen
Create and edit journal entries with mood selection and drawing canvas
π HistoryScreen
Browse and search through past journal entries
π StatisticsScreen
Mood trends visualization and analytics dashboard
π¬ MotivationScreen
Daily motivational content and inspiring quotes
βοΈ SettingsScreen
App configuration including backup/restore and language settings
π¨ UI Components
GlassmorphicCard
Custom glassmorphism effect cards for elegant UI presentation
MoodIndicator
Visual mood representation widget with animated feedback
DrawingCanvas
Interactive drawing widget with full creative controls
LanguageDropdown
Language selector with flag emojis in app bar (top-left position)
π― Project Highlights
Cross-Platform
Built with Flutter for iOS and Android with native performance
Creative Expression
Unique combination of journaling and artistic drawing capabilities
Multi-Language
Full internationalization support for global accessibility
Data-Driven
Comprehensive analytics and mood tracking with visual insights