Skip to content

ngodat213/kiwis_flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e164a64 · Feb 23, 2025

History

64 Commits
Dec 1, 2024
Jan 14, 2025
Dec 24, 2024
Feb 23, 2025
Jan 14, 2025
Jan 14, 2025
Feb 23, 2025
Feb 23, 2025
Sep 26, 2024
Sep 26, 2024
Jan 14, 2025
Sep 26, 2024
Feb 23, 2025
Dec 6, 2024
Sep 26, 2024
Feb 23, 2025
Jan 14, 2025
Sep 26, 2024
Dec 12, 2024
Feb 23, 2025
Jan 14, 2025

Repository files navigation

Kiwis Flutter

A Flutter application with advanced mapping and location features using VietMap integration. Kiwis Demo

Giao diện ứng dụng

Features

Map Services

  • Custom map implementation using VietMap
  • Real-time location tracking
  • Custom markers with user avatars
  • Route drawing and navigation
  • Polyline tracking with auto-removal
  • Route recalculation when deviating
  • Location sharing in groups
  • Search locations with autocomplete

Location Services

  • High-accuracy location tracking
  • Background location updates
  • Distance calculation
  • Location permissions handling
  • GPS status monitoring

Core Features

  • Firebase integration (Auth, Firestore, Messaging, Crashlytics)
  • Multi-language support
  • Responsive design
  • File upload handling
  • API integration with caching
  • Socket.IO implementation
  • Local notifications

UI Components

  • Custom markers
  • Search with debouncing
  • Loading indicators
  • Snackbar notifications
  • Responsive layouts
  • Custom buttons and form fields

Technical Specifications

Dependencies

  • Maps & Location:

    • vietmap_flutter_gl
    • vietmap_flutter_plugin
    • geolocator
    • location
  • State Management:

    • GetX
    • Get It (Dependency Injection)
  • Backend Integration:

    • Firebase Core
    • Firebase Auth
    • Firebase Messaging
    • Cloud Firestore
    • Socket.IO
  • UI/UX:

    • Google Fonts
    • Flutter SVG
    • Cached Network Image
    • Pull to Refresh
    • Crystal Navigation Bar
    • Animated Snackbar

Architecture

  • GetX pattern for state management
  • Service-based architecture
  • Repository pattern for data handling
  • Base API implementation with error handling
  • Custom utilities for responsive design

Key Services

  • MapService: Handles all map-related operations
  • GeolocatorService: Manages location tracking
  • AuthService: Handles authentication
  • NotificationService: Manages push notifications

Setup Requirements

  • Flutter SDK
  • Firebase project configuration
  • VietMap API key
  • Environment file (.env) configuration

Environment Variables

Installation & Setup Guide

Prerequisites

  1. Install Flutter SDK (version ^3.5.1)
  2. Install Android Studio or VS Code
  3. Setup your preferred IDE with Flutter and Dart plugins
  4. A physical device or emulator for testing

Step 1: Clone Repository

bash git clone [repository-url] cd kiwis_flutter

Step 2: Environment Setup

  1. Create a .env file in the root directory: env VIETMAP_API_KEY=your_vietmap_api_key

  2. Firebase Setup:

  • Create a new Firebase project
  • Download google-services.json for Android
  • Download GoogleService-Info.plist for iOS
  • Place these files in their respective directories:
    android/app/google-services.json
    ios/Runner/GoogleService-Info.plist
    

Step 3: Install Dependencies

bash

flutter pub get

Step 4: iOS Setup

bash

cd ios
pod install
cd ..

Step 5: Run the App

bash

flutter run

Development Guidelines

Code Structure

lib/
├── core/ # Core functionality and utilities
├── models/ # Data models
├── services/ # Service classes
├── views/ # UI screens
├── widgets/ # Reusable widgets
└── main.dart # Entry point```