A full-featured food delivery mobile application built with Flutter, following Clean Architecture principles with MVVM pattern and Cubit for state management.
Skills & Technologies:
Flutter & Dart — Professional, fully responsive UI across all screen sizes using custom Responsive Extensions
Clean Architecture — Strict separation of Data, Domain, and Presentation layers with abstract repository interfaces and concrete implementations
Cubit / BLoC — Advanced state management including a global shared UserDataCubit providing user data across all features without redundant API calls
Dio & REST API — Full API integration with Auth Token Interceptors, Either<ApiError, T> error pattern using dartz, and Repository Pattern with dependency injection
Authentication — Login, Signup, Logout, Auto-login, and Guest mode with token-based session management via SharedPreferences
State Patterns — Sealed classes, Either pattern, copyWith, and distinct Loading / Success / Failure / Empty states per feature
UI/UX — Skeleton loading screens, animated containers, animated switchers, pull-to-refresh, and haptic feedback
Payment UI — Interactive credit card widget with 3D flip animation, custom card number and expiry date formatters, CVV masking, and live card preview
Image Handling — CachedNetworkImage for performance, image picker for profile photo updates with local file preview before upload
Error Handling — Comprehensive error handling at network, business logic, and UI layers with user-facing retry actions