Skip to main content

Posts

Clean Architecture with a Feature-First folder structure

Here is exactly what you can say depending on who asks: 1. The 1-Line Quick Answer (For non-technical people or quick updates) "The app is built using Flutter with Feature-First Clean Architecture and BLoC for state management, using Dio for REST API integration and go_router for navigation." 2. The Technical Answer (For Tech Leads or Interviews) "We follow Clean Architecture with a Feature-First folder structure :" State Management: We use the BLoC Pattern ( flutter_bloc ) to separate UI from business logic. Data Layer: We use the Repository Pattern and Data Sources with Dio for API communication. Networking & Auth: Outgoing requests pass through an AuthInterceptor to attach Bearer Tokens dynamically, and token storage is handled via SecureStorageService . Navigation & Routing: Managed via go_router with support for deep linking, route parameters, and guest navigation skips. Guest Mode Architecture: We use a centralized GuestUtils guard pat...

Call all edge cases

  # Phone / App State / Problem Platform Likely Cause(s) Immediate Fix (deploy fast) Long-term / Robust Fix (implement) Priority Fallback / Notes 1 App recently used → calls work, after 15–30 min no incoming call Android + iOS App gets suspended/killed by OS, background isolate dead Ensure server sends high_priority data-only FCM . Confirm onBackgroundMessage registered. Android: Foreground Service + keep-alive socket. iOS: PushKit VoIP pushes. Hybrid: socket + fallback to push. High Use FCM as fallback when socket disconnected. 2 Incoming call not showing when screen locked Android No overlay permission / background isolate not showing UI Ask user to enable "Display over other apps" & allow notifications Use CallKit (iOS) / proper overlay handling with SYSTEM_ALERT_WINDOW on Android; show call via native activity from background. High Heads-up notification possible if overlay not allowed. 3 iOS: No incoming call when app termina...

Vibe Coding Tools List

  Vibe Coding Tools List Dedicated Vibe Coding Platforms: Google AI Studio / Firebase Studio:  Rapid full-stack application generation and deployment from conversational prompts. Replit Agent:  Cloud-based IDE with "Ghostwriter" AI for instant code generation, debugging, and deployment. Bolt:  Browser-based AI development agent for building full-stack web and mobile apps with natural language. Lovable:  Rapid UI prototyping tool that converts text commands into styled layouts with one-click export/deployment. v0 by Vercel:  Prompt-powered UI builder for generating production-ready React components with Tailwind CSS. Wegic:  Converts visual ideas or Figma designs into working code with prompt-based structure creation. AI-Powered IDEs and Code Editors: Cursor :  An "AI-first" code editor (based on VS Code) offering deep project awareness and multi-file conversational edits. Windsurf (formerly Codeium) :  Agentic AI-native IDE featuring the "Cas...

Native api call flutter in terminated state

Calling Native Android Code from Flutter (Step-by-Step for Beginners) When you need to run platform-specific features (like background services, Bluetooth, or sensors) that Flutter doesn’t handle out of the box, you can use MethodChannels to talk to native Android or iOS code. In this tutorial, we’ll: Create a MethodChannel in Flutter. Set up a foreground service in Android. Trigger that service from Flutter—even when the app is closed. 1. What Is a MethodChannel? Think of a MethodChannel as a telephone line between Flutter (Dart) and the platform’s native code (Java/Kotlin for Android, Swift/Objective-C for iOS). Flutter side: “📞 Hey Android, please start the service!” Android side: “✅ Got it, I’m starting it now.” 2. Create the Channel in Flutter Create a new file: lib/native_service.dart import 'package:flutter/services.dart' ; class NativeService {   // ✅ A generic channel name you can reuse in any project   static const _channel = MethodChanne...