Understand Flutter Project Structure


Once project is created, you will be able to see project structure like below:

project structure

.idea: This folder holds the configuration for Android Studio.

.android: Auto generated source code for android application. You will have to add android platform specific code here when required.

.ios: Auto generated source code for iOS application. You will have to add iOS platform specific code here when required.

.lib: It contains the code for flutter application. By default, it has a main.dart file which is the entry point of the flutter application.

test: It contains dart code for testing of flutter application.

.gitignore: It is a git version control file which contains a list of files, file extensions, and folders which will be ignored in git project.

.metadata: It is auto-generated by flutter tools.

.packages: It is an auto-generated file which contains a list of packages for the flutter project.

.iml: It is an auto-generated file that contains additional settings of the project.

pubspec.lock: It is auto-generated file by flutter package manager.

pubspec.yaml: It is used by Pub which contains project name, description, version, dependencies, assets, fonts etc. You will have to add flutter packages here when required.

README.md: It is an auto-generated file which contains project description.