A modern, scalable all-in-one utility app built with Flutter.
Designed for everyday needs like Photo → PDF, Image Resize (Govt Forms), PDF Tools, and more — all in one clean, fast, offline-first experience.
- Select multiple images from gallery or camera
- Reorder pages before generating PDF
- Generate high-quality PDF documents
- Save locally or share instantly
- Resize images to exact width/height
- Reduce file size in KB (important for exam forms)
- Preset modes:
- Passport Photo
- Signature Upload
- Custom Dimensions
- 📄 PDF Merge & Split
- ✏️ PDF Editor (Reorder, Delete pages)
- 📷 Document Scanner
- 🔍 OCR (Text extraction from images)
- 🧾 Watermark & Digital Signature
- ☁️ Cloud Backup & Sync
- 📁 File Manager Dashboard
This project follows a Modular Feature-First Clean Architecture to ensure long-term scalability and maintainability.
lib/
├── app/
│ ├── app.dart
│ ├── router.dart
│ └── theme/
│
├── core/
│ ├── constants/
│ ├── config/
│ ├── errors/
│ ├── services/
│ │ ├── file_service.dart
│ │ ├── permission_service.dart
│ │ ├── image_service.dart
│ │ └── pdf_service.dart
│ ├── utils/
│ └── widgets/
│
├── features/
│ ├── photo_to_pdf/
│ ├── image_resize/
│ ├── pdf_editor/
│ ├── file_manager/
│ └── settings/
│
├── shared/
│ ├── models/
│ ├── widgets/
│ └── providers/
│
└── main.dart
Each feature is built as an independent module:
feature_name/
├── data/
├── domain/
├── presentation/
└── controllers/
- Feature-based modular design
- Separation of concerns (data / domain / presentation)
- Reusable shared services
- Offline-first approach
- Scalable for future tools
| Layer | Technology |
|---|---|
| Framework | Flutter |
| Language | Dart |
| State Management | Riverpod |
| Routing | GoRouter |
| Local Storage | Hive |
| PDF Engine | pdf, printing |
| Image Processing | image |
| File Access | path_provider |
| Permissions | permission_handler |
| CI/CD | GitHub Actions |
| Cloud Dev | GitHub Codespaces |
| Build System | Gradle |
| Signing | Android Keystore |
Use GitHub Codespaces:
- Open repository on GitHub
- Click on
Code - Select
Codespaces - Launch a new Codespace
This gives you:
- Full VS Code-like environment
- Terminal access
- Flutter SDK ready
flutter pub get
flutter runThis project uses GitHub Actions for automated builds.
Push Code
↓
GitHub Actions Trigger
↓
Setup Flutter + Java
↓
Install Dependencies
↓
Build APK & AAB
↓
Upload Artifacts
↓
Release Ready
| File | Purpose |
|---|---|
| app-debug.apk | Testing on device |
| app-release.apk | Direct install |
| app-release.aab | Upload to Play Store |
To publish on Play Store, app must be signed securely.
KEYSTORE_BASE64
KEY_ALIAS
KEY_PASSWORD
STORE_PASSWORD
- Keystore file is NOT stored in repo
- It is encoded using Base64
- Decoded during CI build
- Ensures secure signing pipeline
To ensure smooth performance:
- Image compression before processing
- Background processing using isolates
- Lazy loading of features
- Memory-efficient image handling
- Optimized file I/O operations
- Material 3 Design System
- Minimal & clean interface
- Fast, responsive interactions
- One-tap workflows
- Dark mode support
- Mobile-first experience
Shared across all features:
- 📁 File Service (save, delete, manage files)
- 🖼️ Image Service (resize, compress)
- 📄 PDF Service (generate, merge, edit)
- 🔐 Permission Service (storage, camera)
- AI-powered document scanning
- Smart auto-cropping
- OCR text recognition
- Cloud sync (Firebase/Supabase)
- Multi-device access
- Premium subscription features
- Ads (AdMob)
- Premium tools unlock
- Watermark removal
- Advanced PDF editing features
Contributions are welcome!
Steps:
- Fork the repository
- Create your feature branch
- Commit changes
- Open a Pull Request
MIT License
Build one powerful app that replaces multiple small utility apps.
If you like this project:
- Star ⭐ the repository
- Share it with others
- Suggest new features
Made with ❤️ using Flutter