Prerequisites
Relevant source files
The following files were used as context for generating this wiki page:
The Prerequisites for the fikak_app encompass the necessary development environment, SDK versions, and platform-specific configurations required to build and run the application. As a Flutter project, it relies on a specific set of dependencies and environment constraints to ensure compatibility across Android and iOS platforms.
This document outlines the software requirements, environment variables, and dependency management systems essential for the project's lifecycle.
Environment and SDK Requirements
The project is built using the Flutter framework, which necessitates specific versions of the Dart SDK and Flutter SDK to handle the codebase and its external packages.
Flutter and Dart SDK
The application requires the Flutter environment to be configured with specific SDK constraints to ensure null safety and package compatibility.
| Requirement | Version / Specification |
|---|---|
| Dart SDK Constraint | >=3.2.3 <4.0.0 |
| Flutter SDK | Compatible with Dart 3.x |
Sources: pubspec.yaml:7-9
Android Platform Requirements
The Android implementation requires specific Gradle configurations and SDK versions to compile the Java/Kotlin code and integrate with the Android system.
| Property | Version |
|---|---|
| Compile SDK Version | 34 |
| Minimum SDK Version | 21 |
| Target SDK Version | 34 |
| Kotlin Version | 1.8.22 |
Sources: android/app/build.gradle:26-30, android/app/build.gradle:46-52
iOS Platform Requirements
The iOS deployment requires a minimum system version for CocoaPods and application execution.
| Property | Version |
|---|---|
| Platform iOS | 12.0 |
Sources: ios/Podfile:2
Core Dependencies
The project utilizes several key libraries for state management, UI components, and utility functions. These must be fetched via the Flutter pub tool before the application can be built.
Primary Packages
- flutter_bloc: Used for predictable state management.
- cupertino_icons: Provides iOS-style icons.
- flutter_lints: Enforces recommended linting rules for Flutter code.
Sources: pubspec.yaml:28-32, pubspec.yaml:35-36
Build System Architecture
The build process involves the interaction between the Flutter CLI, the pub package manager, and platform-specific build tools (Gradle for Android and CocoaPods for iOS).
The diagram above illustrates how the project configuration files dictate the environment requirements for different build targets.
Sources: pubspec.yaml:1-36, android/app/build.gradle:1-60, ios/Podfile:1-10
Project Initialization Flow
To prepare the environment for development, the following flow is followed to resolve dependencies and verify the environment.
The sequence demonstrates the requirement of running dependency resolution before the application entry point in lib/main.dart can be executed.
Sources: lib/main.dart:1-10, pubspec.yaml:28-36
Summary
The fikak_app requires a modern Flutter environment centered around Dart 3.2.3. Developers must ensure that Android SDK 34 and iOS 12.0 compatibility is maintained within their local development environments to successfully compile and run the application.