Skip to content

A modern, feature-rich customer management application built with Flutter. Max Customer helps businesses efficiently manage their customer database with advanced features like location tracking, image management, and intuitive search functionality.

Notifications You must be signed in to change notification settings

Subrata2402/max_customer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Max Customer - Customer Management App

Flutter Dart License

A modern, feature-rich customer management application built with Flutter. Max Customer helps businesses efficiently manage their customer database with advanced features like location tracking, image management, and intuitive search functionality.

πŸš€ Features

πŸ” Authentication

  • Secure Login System with animated UI
  • Session Management with persistent login state
  • Password Visibility Toggle with smooth animations

πŸ‘₯ Customer Management

  • Add New Customers with comprehensive form validation
  • View Customer List with animated search functionality
  • Edit & Update customer information
  • Delete Customers with confirmation dialogs
  • Real-time Search with smooth animations

πŸ“ Location Services

  • GPS Location Capture for customer addresses
  • Google Maps Integration for location visualization
  • Geocoding Support for address-to-coordinates conversion
  • Location Permissions handling

πŸ“Έ Image Management

  • Profile Photo Capture from camera or gallery
  • Image Picker Service with compression
  • Cached Network Images for optimal performance
  • Image Storage in local database

πŸ’Ύ Data Management

  • SQLite Local Database for offline functionality
  • CRUD Operations with BLoC state management
  • Data Persistence with SharedPreferences
  • Sample Data for testing and development

🎨 User Interface

  • Material Design 3 with modern aesthetics
  • Smooth Animations throughout the app
  • Responsive Design for various screen sizes
  • Custom Widgets for consistent UI/UX
  • Pull-to-Refresh functionality
  • Loading States and error handling

πŸ“± Screenshots

Add screenshots of your app here

πŸ—οΈ Architecture

The application follows Clean Architecture principles with BLoC Pattern for state management:

lib/
β”œβ”€β”€ auth/                   # Authentication module
β”‚   β”œβ”€β”€ bloc/              # Auth BLoC components
β”‚   β”œβ”€β”€ login/             # Login screen
β”‚   └── repository/        # Auth data layer
β”œβ”€β”€ customers/             # Customer management module
β”‚   β”œβ”€β”€ bloc/              # Customer BLoC components
β”‚   β”œβ”€β”€ pages/             # Customer screens
β”‚   β”œβ”€β”€ widgets/           # Customer UI components
β”‚   β”œβ”€β”€ services/          # Business logic services
β”‚   β”œβ”€β”€ repository/        # Data access layer
β”‚   └── utils/             # Utilities and validators
β”œβ”€β”€ database/              # Local database management
β”œβ”€β”€ models/                # Data models
β”œβ”€β”€ utils/                 # Shared utilities
└── main.dart             # App entry point

πŸ› οΈ Tech Stack

Core Framework

  • Flutter - Cross-platform mobile development
  • Dart - Programming language

State Management

  • flutter_bloc - Business Logic Component pattern
  • equatable - Value equality for BLoC states

Database & Storage

  • sqflite - SQLite database for Flutter
  • shared_preferences - Key-value storage
  • path - File system path manipulation

Location Services

  • geolocator - GPS location services
  • geocoding - Address-coordinate conversion
  • permission_handler - Runtime permissions

Media & UI

  • image_picker - Camera and gallery access
  • cached_network_image - Optimized image loading
  • url_launcher - External URL handling

Development

  • flutter_lints - Dart code analysis
  • flutter_test - Testing framework

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (3.7.0 or higher)
  • Dart SDK (3.7.0 or higher)
  • Android Studio / VS Code
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/Subrata2402/max_customer.git
    cd max_customer
  2. Install dependencies

    flutter pub get
  3. Run the application

    flutter run

Build for Production

Android APK

flutter build apk --release

Android App Bundle (Recommended for Play Store)

flutter build appbundle --release

With Obfuscation (for security)

flutter build apk --release --obfuscate --split-debug-info=build/app/debug_info

πŸ“‹ Configuration

Android Permissions

The app requires the following permissions (configured in android/app/src/main/AndroidManifest.xml):

  • ACCESS_FINE_LOCATION - For precise location access
  • ACCESS_COARSE_LOCATION - For approximate location access
  • CAMERA - For taking profile photos
  • READ_EXTERNAL_STORAGE - For selecting images from gallery
  • INTERNET - For network operations

iOS Configuration

For iOS deployment, ensure proper permissions are configured in ios/Runner/Info.plist:

  • NSLocationWhenInUseUsageDescription
  • NSCameraUsageDescription
  • NSPhotoLibraryUsageDescription

🎯 Key Functionalities

Authentication Flow

  • Persistent login state management
  • Secure session handling
  • Animated login interface with form validation

Customer Operations

  • Create: Add customers with personal, address, and location information
  • Read: View customer list with search and filter capabilities
  • Update: Edit existing customer information
  • Delete: Remove customers with confirmation

Advanced Features

  • Animated Search: Smooth transition between title and search field
  • Location Capture: GPS-based automatic location detection
  • Image Management: Profile photo capture and storage
  • Offline Support: Local SQLite database for offline functionality
  • Real-time Search: Instant search results as you type

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A modern, feature-rich customer management application built with Flutter. Max Customer helps businesses efficiently manage their customer database with advanced features like location tracking, image management, and intuitive search functionality.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published