A professional Flutter tab-navigation showcase app
Built with Material 3 · Clean Architecture · Widget Tested
TabBook Pro is a portfolio-grade Flutter mobile application demonstrating professional tab-based navigation architecture. It mirrors the structural pattern found in large-scale social and content apps, making it an ideal showcase for clean code practices, reusable component design, and modern Flutter UI standards.
Designed to run on Android and iOS from a single codebase.
| Feature | Description |
|---|---|
| 🏠 Home Feed | Trending stories and engagement insights |
| 👥 Connections | Friend groups and smart collaboration tools |
| 🎬 Video Studio | Upload queue, caption presets, performance metrics |
| 🔔 Notifications | Priority alerts, focus-mode muting, deep-link cards |
| ⚙️ Workspace Menu | Account settings, drafts, and security center |
Screenshots will be added after first device build. Run
flutter runto preview locally.
| Home | Friends | Videos | Notifications | Menu |
|---|---|---|---|---|
| (coming soon) | (coming soon) | (coming soon) | (coming soon) | (coming soon) |
tabactivityfragment/
├── lib/
│ ├── main.dart # App entry point, theme & tab shell
│ ├── screens/
│ │ ├── home_fragment.dart # Home feed screen
│ │ ├── friends_fragment.dart # Connections screen
│ │ ├── video_fragment.dart # Video studio screen
│ │ ├── notification_fragment.dart # Notifications screen
│ │ └── menu_fragment.dart # Workspace menu screen
│ └── widgets/
│ └── fragment_page_template.dart # Reusable screen template component
├── test/
│ └── widget_test.dart # Widget tests for navigation & branding
├── android/ # Android platform project
├── ios/ # iOS platform project
├── pubspec.yaml # Dependencies & app metadata
└── analysis_options.yaml # Linter configuration
| Package | Version | Purpose |
|---|---|---|
flutter |
SDK | Core framework |
cupertino_icons |
^1.0.8 | iOS-style icon set |
| Package | Version | Purpose |
|---|---|---|
flutter_test |
SDK | Widget testing framework |
flutter_lints |
^5.0.0 | Dart/Flutter lint rules |
| Platform | Minimum Version |
|---|---|
| Android | API 21 (Android 5.0) |
| iOS | iOS 12.0 |
| Dart SDK | ^3.6.1 |
| Flutter SDK | ^3.x |
- Flutter SDK installed → Install Flutter
- A connected device or emulator
- Run
flutter doctorto verify setup
# 1. Clone the repository
git clone https://github.com/asoporitech/TabBook-Pro.git
# 2. Navigate to project root
cd tabactivityfragment
# 3. Install dependencies
flutter pub get
# 4. Run the app
flutter run# Android APK
flutter build apk --release
# Android App Bundle (Play Store)
flutter build appbundle --release
# iOS (requires macOS + Xcode)
flutter build ios --release# Run all widget tests
flutter test
# Run with verbose output
flutter test --reporter expandedTest coverage includes:
- App branding and shell rendering
- Tab label visibility across all 5 tabs
- Navigation between tabs (e.g. tap Videos → assert Video Studio content)
- Single source of truth for tabs —
_TabConfiglist inHomeActivitydrivesDefaultTabController,TabBar, andTabBarViewsimultaneously, eliminating mismatch bugs. - Reusable screen template —
FragmentPageTemplatewidget inwidgets/provides a consistent gradient card + highlight list layout across all screens without duplication. - Feature-based folder layout —
screens/for pages,widgets/for shared components — scales cleanly as the app grows. - Material 3 theming — Seed color
#0F4C81generates the fullColorSchemeautomatically using Material You.
- Professional 5-tab navigation shell
- Material 3 theming with branded color scheme
- Reusable
FragmentPageTemplatecomponent - Widget-tested navigation and branding
- Clean
screens/andwidgets/folder structure - Zero lint warnings (
flutter analyzepasses clean)
- Add real API integration per screen
- Integrate state management (Riverpod or BLoC)
- Add dark mode support
- Publish screenshots after device build
- Add CI/CD pipeline (GitHub Actions)
MIT License
Copyright (c) 2026 asoporitech
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction.
Jahidul Islam
Flutter Developer · @asoporitech