Template app to kickstart development of a new Android app. It uses JSONPlaceholder API to fetch data and has a common set of features that most apps have.
- Click on the
Use this template
button at the top right of the repository to create a new repository based on this template. - Edit the
renameConfig
section in thebuildscripts/setup.gradle
file to use your ownnewProjectName
,newRootProjectName
,newMaterialThemeName
,newApplicationId
andnewDeeplinkHost
values. - Run the
./gradlew renameTemplate
command to rename all the files and replace the template values with the ones you specified in the previous step. - Run the
./gradlew clean
command to clean the project. - Click on the
Sync Project with Gradle Files
button in Android Studio.
-
Login screen with email and password field validation
-
Posts screen with a list of posts
-
Post details screen
-
Splash screen
-
Deeplink setup, including checking the user auth state
Demo
Deeplink | User isn't logged in
Screen.Recording.2024-01-06.at.00.57.28.1.mov
Deeplink | User is logged in
Screen.Recording.2024-01-06.at.00.58.11.1.mov
The Template app follows the official architecture guidance
The project is structured in the following way:
app
module contains the base template appsample
module contains examples of common features used in Android apps
The app was designed using Material 3 guidelines.
- Tests
- CI/CD
- Documentation
- Add more samples
Contributions are welcome! Feel free to submit a PR or open an issue if you have any questions or find a bug.
Template is distributed under the terms of the Apache License (Version 2.0). See the license for more information.