A Gradle 19,597 build is a root project plus modules. BookNest has one, :app, which applies com.android.application; larger apps add com.android.library modules such as :core:data that build in parallel. These are the committed files:
git ls-filesOutput
.gitignore README.md app/build.gradle.kts app/src/main/AndroidManifest.xml app/src/main/assets/books.json app/src/main/java/com/example/booknest/MainActivity.kt app/src/main/java/com/example/booknest/data/Book.kt app/src/main/res/values/strings.xml build.gradle.kts gradle.properties gradle/libs.versions.toml gradle/wrapper/gradle-wrapper.jar gradle/wrapper/gradle-wrapper.properties gradlew gradlew.bat settings.gradle.kts
Under src/, each source set has the same layout (java or kotlin, res, assets, a manifest). main goes into every build, test and androidTest hold JVM and on-device tests (Testing), and debug or release files apply to one build type, merged over main. AAPT2 compiles res/ into typed IDs such as R.string.app_name; assets/ is copied raw, so the shared books.json sits there unchanged.