Denwee is an open-source mobile application built with Flutter. It delivers personalized daily facts based on user-selected interests and supports push notifications, localization, and a modular, scalable architecture inspired by SOLID principles.
- Daily facts delivery with Supabase and ChatGPT Batch API
- Push notifications using Firebase Cloud Messaging
- Synced user accounts via Supabase Auth
- Analytics and crash reporting with Firebase Analytics and Crashlytics
- Multi-language support with Easy Localization
| Layer | Technologies | Description |
|---|---|---|
| Frontend (Open Source) | Flutter, Dart, Firebase Cloud Messaging, Localizations | Client app, responsible for UI, notifications, localization, and user interactions |
| Backend (Closed Source) | Supabase, PostgreSQL, Supabase Edge Functions, ChatGPT API (Batch), Cron/Scheduled Jobs | Handles authentication, facts generation, data storage, multi-device token management, and notification scheduling |
| Infrastructure | Supabase (Database, Auth, API) Firebase (Push Notifications, Analytics, Crashlytics) |
Manages user accounts, data, push notifications, analytics, and crash reporting |
| Package | Purpose |
|---|---|
| flutter_bloc | State management |
| get_it | Dependency injection |
| app_links | Deep links |
| drift | Local database |
| dio | Network requests |
| easy_localization | Multi-language support |
| animate_do | Animations |
- Static icons from Iconsax
- Animated emojis from Noto Animated Emojis β licensed under CC BY 4.0
- Fonts: Quicksand (Primary), Manrope (Secondary)
To run this application, you'll need Flutter of version 3.35 or higher:
# Get all packages
flutter pub get
# Generate localization files
flutter pub run easy_localization:generate -S "assets/translations" -O "lib/localization"
# Generate localization keys
flutter pub run easy_localization:generate -S "assets/translations" -O "lib/localization" -o "locale_keys.g.dart" -f keys
# Build runner
dart run build_runner build --delete-conflicting-outputs
# Run dev environment
flutter run --flavor dev -t lib/main_dev.dart
# Run prod environment
flutter run --flavor prod -t lib/main_prod.dartDenwee projects are crafted by a solo enthusiastic developer across Mobile, Web, and Backend technologies. Your contributions, no matter how big or small, are always welcome! Hereβs how you can help:
- Open PR's β fix bugs, add features, or improve existing code.
- Submit Issues β report bugs, request features, or suggest improvements.
Explore the Denwee App landing page, built with Flutter Web. This simple landing page is also open-source π₯ Check it out
Some design elements and animations were inspired by Reflectly App, adapted and implemented originally for Denwee. Definitely check out their awesome product!
For any questions or support, please reach out to support@denwee.com π«Ά