├── .gitignore ├── .idea ├── .gitignore ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── deploymentTargetDropDown.xml ├── deploymentTargetSelector.xml ├── gradle.xml ├── inspectionProfiles │ └── Project_Default.xml ├── kotlinc.xml ├── migrations.xml ├── misc.xml ├── runConfigurations.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── ro │ │ └── alexmamo │ │ └── firestorecleanarchitecture │ │ ├── FirestoreCleanArchitectureApp.kt │ │ ├── components │ │ ├── ActionButton.kt │ │ ├── ActionIconButton.kt │ │ └── LoadingIndicator.kt │ │ ├── core │ │ └── Utils.kt │ │ ├── data │ │ └── repository │ │ │ └── BookListRepositoryImpl.kt │ │ ├── di │ │ └── AppModule.kt │ │ ├── domain │ │ ├── model │ │ │ ├── Book.kt │ │ │ └── Response.kt │ │ └── repository │ │ │ └── BookListRepository.kt │ │ └── presentation │ │ ├── MainActivity.kt │ │ └── book_list │ │ ├── BookListScreen.kt │ │ ├── BookListViewModel.kt │ │ └── components │ │ ├── AddBookAlertDialog.kt │ │ ├── AddBookFloatingActionButton.kt │ │ ├── AuthorText.kt │ │ ├── AuthorTextField.kt │ │ ├── BookCard.kt │ │ ├── BookListContent.kt │ │ ├── EditableBookCard.kt │ │ ├── EmptyBookListContent.kt │ │ ├── TitleText.kt │ │ ├── TitleTextField.kt │ │ └── TopBar.kt │ └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ └── ic_launcher_background.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-mdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-xhdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-xxhdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-xxxhdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ └── values │ ├── colors.xml │ ├── strings.xml │ └── themes.xml ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/codeStyles/Project.xml -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/deploymentTargetDropDown.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/deploymentTargetDropDown.xml -------------------------------------------------------------------------------- /.idea/deploymentTargetSelector.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/deploymentTargetSelector.xml -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/gradle.xml -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/inspectionProfiles/Project_Default.xml -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/kotlinc.xml -------------------------------------------------------------------------------- /.idea/migrations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/migrations.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/runConfigurations.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /google-services.json -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/build.gradle.kts -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/FirestoreCleanArchitectureApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/FirestoreCleanArchitectureApp.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/components/ActionButton.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/components/ActionButton.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/components/ActionIconButton.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/components/ActionIconButton.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/components/LoadingIndicator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/components/LoadingIndicator.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/core/Utils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/core/Utils.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/data/repository/BookListRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/data/repository/BookListRepositoryImpl.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/di/AppModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/di/AppModule.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/domain/model/Book.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/domain/model/Book.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/domain/model/Response.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/domain/model/Response.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/domain/repository/BookListRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/domain/repository/BookListRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/BookListScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/BookListScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/BookListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/BookListViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AddBookAlertDialog.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AddBookAlertDialog.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AddBookFloatingActionButton.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AddBookFloatingActionButton.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AuthorText.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AuthorText.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AuthorTextField.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/AuthorTextField.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/BookCard.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/BookCard.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/BookListContent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/BookListContent.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/EditableBookCard.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/EditableBookCard.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/EmptyBookListContent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/EmptyBookListContent.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/TitleText.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/TitleText.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/TitleTextField.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/TitleTextField.kt -------------------------------------------------------------------------------- /app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/TopBar.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/java/ro/alexmamo/firestorecleanarchitecture/presentation/book_list/components/TopBar.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/gradle/libs.versions.toml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexmamo/FirestoreCleanArchitectureApp/HEAD/settings.gradle --------------------------------------------------------------------------------