Scaffold Android is a scaffold that serve as a skeleton to other scalable Android apps.
- Kotlin
- Android Compose
- Coroutines
- Chucker
- LeakCanary
- Hilt
- Navigation Compose
- Retrofit
- Gradle Version Catalogs
It was used an approach of MVVM (Model-View-ViewModel) targeting Android Compose for the architecture.
- Clone the repository (https://github.com/orogersilva/scaffold-android.git).
- Delete
.gitfolder. - Edit
README.md. - Type
git initin the project root folder. - Rename packages (in the whole project).
- Rename all namespace names in the
build.gradlefiles. - Rename the
applicationIdin thebuild.gradlefile in theappmodule. - Rename the app theme name in the
:platform:core:uimodule. - Rename
BASE_API_URLin thebuild.gradlefile in the:platform:core:networkingmodule. - Rename
:feature:new-feature-apiand:feature:new-featuremodules. - Rename
ScaffoldAndroidApplicationclass in the:appmodule. - Rename
ScaffoldAndroidTestRunnerclass in the:platform:testingmodule. - Rename
ScaffoldAndroidApiClientinterface in the:platform:core:networkingmodule. - Rename
ScaffoldAndroidApiClientModuleobject in the:platform:core:networkingmodule. - Rename
provideScaffoldAndroidApiClientfunction in the:platform:core:networkingmodule. - Rename style
Theme.ScaffoldAndroidin theappmodule. - Rename string (in XML)
app_namevalue in theappmodule. - Rename
nameattribute in theci.ymlfile in the.github/path. - Rename
rootproject.nameinsettings.gradlefile in the project root. - Run
gradlew.bat (or ./gradlew) clean assembleDebugin the terminal. - Run
formatKotlin detekt lintDebugin the terminal. - Close Android Studio IDE.
- Rename project folder name.
- Reopen Android Studio IDE.
Roger Silva (follow me on Twitter)
Copyright 2022 Roger Silva.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
