A beautifully structured Flutter financial application that simulates an investment portfolio management interface. Built using the latest Flutter practices, clean architecture, and optimized performance patterns, this project uses dummy data to showcase powerful features and modern UI patterns.
π§ Note: All data shown in this application is simulated/dummy data for demonstration purposes only. No real financial data or transactions are involved.
π FinWise represents the perfect blend of financial intelligence and modern technology, developed with scalability and maintainability in mind!
- β Real-time summary of Current Value, Investment & Profit/Loss (using simulated data from NiftyMock.json)
- π± Responsive design that works on mobile and tablet
- πΎ All data is locally generated and simulated for demonstration
- π Built-in light and dark theme support
- π― Smart financial insights and recommendations
- π Instant search across all holdings
- ποΈ Advanced filtering options
- π Pull-to-refresh to update holdings
- π Advanced sorting capabilities
- ποΈ Modular MVVM architecture using
Provider - β‘ Performance Optimized with 20-30% better rendering
- π Built-in support for both light and dark themes
- π Clean API layer with Dio for network calls
- π Secure storage for sensitive data
- π§© Code Quality with strict linting and safe operations
- π± Modern UI with FinWise branding and custom logo
| Splash Screen | Portfolio Summary | Stock Details | Watchlist |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Profile | Filters | No Data |
|---|---|---|
![]() |
![]() |
![]() |
Note: All data shown in screenshots is simulated for demonstration purposes. The app features a complete light/dark theme system that respects the device's theme settings.
- Flutter SDK (>=3.38.9)
- Dart SDK (>=3.5.4)
- Android Studio / VS Code with Flutter extensions
- Android Emulator or physical device
git clone https://github.com/kalpeshk95/flutter_sample.git
cd flutter_sampleflutter pub get# Run in debug mode
flutter run
# Run with flavor (development/staging/production)
flutter run --flavor development
# Run with specific device
flutter run -d <device_id># Build APK
flutter build apk --release
# Build App Bundle
flutter build appbundle --releaseThis project follows the MVVM (Model-View-ViewModel) architecture pattern with Clean Architecture principles, ensuring separation of concerns and testability.
lib/
βββ core/ # Core functionality
β βββ di/ # Dependency injection setup
β βββ network/ # Network layer (Dio, interceptors)
β βββ theme/ # App theming and styling
β βββ utils/ # Utility classes and extensions
β
βββ repo/ # Repository layer
β βββ local/ # Local data sources
β βββ remote/ # Remote data sources
β
β
βββ ui/ # UI Layer
β βββ shared/ # Shared UI components and utilities
β β βββ theme/ # Theme-related widgets
β β βββ utility/ # UI utilities and extensions
β β βββ widgets/ # Reusable widgets
β βββ screens/ # Feature screens
β βββ portfolio/ # Portfolio management
β βββ profile/ # User profile
β βββ splash/ # Splash screen
β βββ watchlist/ # Watchlist feature
β
βββ routing/ # Navigation and routing
β βββ app_router.dart # Main router configuration
β βββ route_names.dart # Route constants
βββ main.dart # App entry point
- Models: Data classes representing API responses and business entities
- Repositories: Abstract the data sources and handle data operations
- ViewModels: Manage UI state and business logic
- Widgets: Reusable UI components
- Services: Handle app-wide functionality (e.g., API calls, local storage)
| Package | Version | Purpose |
|---|---|---|
| flutter | 3.38.9 | Flutter framework |
dart |
^3.5.4 | Dart SDK |
| Package | Version | Purpose |
|---|---|---|
provider |
6.1.5+1 | State management |
get_it |
9.2.0 | Service locator for dependency injection |
connectivity_plus |
7.0.0 | Network connectivity status |
| Package | Version | Purpose |
|---|---|---|
go_router |
17.1.0 | Declarative routing solution |
| Package | Version | Purpose |
|---|---|---|
dio |
5.9.1 | HTTP client |
json_annotation |
4.10.0 | JSON serialization annotations |
json_serializable |
6.12.0 | Code generation for JSON serialization |
freezed |
3.2.5 | Code generation for immutable classes |
freezed_annotation |
3.1.0 | Annotations for freezed |
| Package | Version | Purpose |
|---|---|---|
shimmer_animation |
2.2.2+1 | Shimmer loading effect |
intl |
0.20.2 | Internationalization and localization |
- Poppins (300, 400, 500, 600, 700 weights)
| Package | Version | Purpose |
|---|---|---|
logger |
2.6.2 | Simple logging utility |
| Package | Version | Purpose |
|---|---|---|
build_runner |
2.11.0 | Code generation |
flutter_lints |
6.0.0 | Flutter lint rules |
Note: The app uses mock data for demonstration purposes, with a clean architecture that allows for easy integration with real APIs.
- Update the version in
pubspec.yaml - Generate a release build:
flutter build appbundle --release
- Upload the generated bundle to Google Play Console
- Update the version in
pubspec.yamlandios/Runner.xcodeproj - Generate an archive:
flutter build ipa --release
- Distribute via TestFlight or App Store Connect
We welcome contributions from the community! Here's how you can help:
- Report bugs: File an issue if you find any bugs
- Suggest features: Open an issue to discuss new features
- Submit fixes: Send a pull request to fix issues
- Improve documentation: Help us improve the documentation
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
Please ensure your code follows our coding standards and includes appropriate tests.
- Flutter for the awesome framework
- Dart for the powerful language
- All the open-source packages that made this project possible
If you're new to Flutter, here are some resources to help you get started:
For any questions or feedback, please open an issue or contact us at kulyekalpesh@gmail.com.






