Logo Lanfrica

Mikiyaskifle/Birrwise

Domain:

digital infrastructure

Record type:

software
Creator:
Mik
Host:
A complete daily expense tracker Flutter app with full Amharic localization and backend API integration # Daily Expense Tracker A complete, production-ready Flutter mobile app for tracking daily expenses with real backend API integration. ## 🌟 Features - βœ… **Full CRUD Operations** - Create, Read, Update, Delete expenses - βœ… **Real Backend Integration** - Uses REST API with proper error handling - βœ… **Beautiful UI/UX** - Modern fintech-level design with Material 3 - βœ… **Light & Dark Theme** - Automatic theme switching with persistence - βœ… **Offline Support** - Proper loading states and error handling - βœ… **Smooth Animations** - Micro-interactions and transitions - βœ… **Pull to Refresh** - Refresh expense list with gesture - βœ… **Swipe Gestures** - Swipe to edit/delete expenses - βœ… **Form Validation** - Comprehensive input validation - βœ… **Ethiopian Birr (Br) currency formatting** - Proper number formatting - βœ… **Date Formatting** - Human-readable date displays - βœ… **Category Icons** - Visual category representation - βœ… **Empty States** - Beautiful empty state screens - βœ… **Loading States** - Shimmer effects and skeletons ## πŸ—οΈ Architecture - **Clean Architecture** - Feature-based organization - **State Management** - Riverpod for reactive state - **Networking** - Dio for HTTP requests with interceptors - **Dependency Injection** - Riverpod providers - **Separation of Concerns** - Clear layer separation ## πŸ“ Project Structure ``` lib/ β”œβ”€β”€ models/ # Data models β”‚ └── expense.dart # Expense model with JSON serialization β”œβ”€β”€ services/ # API services β”‚ └── api_service.dart # Dio-based API client β”œβ”€β”€ providers/ # Riverpod state management β”‚ β”œβ”€β”€ expense_provider.dart # Expense state management β”‚ └── theme_provider.dart # Theme management β”œβ”€β”€ screens/ # UI screens β”‚ β”œβ”€β”€ splash_screen.dart β”‚ β”œβ”€β”€ home_screen.dart β”‚ β”œβ”€β”€ add_expense_screen.dart β”‚ β”œβ”€β”€ edit_expense_screen.dart β”‚ └── expense_detail_screen.dart β”œβ”€β”€ widgets/ # Reusable UI components β”‚ β”œβ”€β”€ expense_card.dart β”‚ β”œβ”€β”€ custom_text_field.dart β”‚ β”œβ”€β”€ gr …

Languages