Skip to content

A modern Flutter application template implementing core features and best practices.

License

Notifications You must be signed in to change notification settings

coconut-salad/flutter-app-template

 
 

Repository files navigation

Flutter App Template

A modern Flutter application template implementing core features and best practices for a mobile app.

Features

  • 🔄 State Management - Riverpod for efficient state management and dependency injection
  • 🔒 Authentication - Basic authentication flow with secure storage
  • 🌐 API Integration - HTTP client setup with offline mode support
  • 🎨 Theme Support - Material 3 theming with custom color schemes
  • 🌍 Internationalization - Multi-language support with YAML-based translations
  • 💾 Local Storage - Secure storage (auth) and shared preferences implementation (for user settings)
  • 📱 Responsive Design - Basic responsive UI setup
  • 🪵 Logging - Structured logging with the logger package, to console and file

Project Structure

lib/
├── api/              # API clients and services
├── models/           # Data models
├── providers/        # Riverpod providers
├── screens/          # UI screens
├── widgets/          # Custom widgets and UI components
├── utils/           # Utilities and helpers
└── main.dart        # Application entry point

Getting Started

Prerequisites

  • Flutter SDK (latest stable version)
  • Dart SDK (latest stable version)
  • iOS development setup (for Mac users)
  • Android development setup

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/flutter_app_template.git
    cd flutter_app_template
  2. Install dependencies:

    flutter pub get
  3. Run the app:

    flutter run

State Management

The template uses Riverpod for state management, featuring:

  • State providers for app-wide state
  • API state management
  • Authentication state
  • Settings management
  • Offline mode support

Authentication

Basic authentication implementation includes:

  • Secure token storage
  • API key management
  • Login flow
  • Authentication state management

Contributing

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

License

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

About

A modern Flutter application template implementing core features and best practices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 95.0%
  • Ruby 3.1%
  • Swift 1.5%
  • Other 0.4%