ComposeTemplate icon indicating copy to clipboard operation
ComposeTemplate copied to clipboard

ComposeTemplate is a Jetpack Compose template application that follows Clean Architecture best practices. It simplifies the process of setting up a well-structured Compose application by providing a t...


ComposeTemplate

ComposeTemplate is a Jetpack Compose template application that follows Clean Architecture best practices. It simplifies the process of setting up a well-structured Compose application by providing a template with a predefined folder structure. ✨

Report Bug Request Feature

Contributors Stargazers Issues License

About The Project

Screen Shot

ComposeTemplate is a Jetpack Compose template application that follows Clean Architecture best practices. It simplifies the process of setting up a well-structured Compose application by providing a template with a predefined folder structure. ✨

Built With

Predefined Structures

  • Header and Refresh Token interceptor (Implement your refresh token function) DefaultInterceptor.kt
  • safeCall network function BaseRepository.kt
  • Flexible Navigation Structure NavigationManager.kt
  • PreferencesManager PreferencesManager.kt
  • Basic Auth Flow (Token Retrieval & Save to local) AuthRepository.kt
  • All structure tested with jUnit and MockK Examples
  • Added end-to-end examples related all layers.

Getting Started

To create a new project using this template, follow these steps:

  1. Run the initializer.sh script.
  2. Set the applicationName and applicationId as prompted.
  3. The script will copy a new project with the given credentials 🚀To get a local copy up and running follow these simple example steps.

Installation

  1. Clone the repo
git clone https://github.com/mustafayigitt/ComposeTemplate.git
  1. Run initializer.sh

  2. Open the created project with the given application name.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  • If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
  • Please make sure you check your spelling and grammar.
  • Create individual PR for each suggestion.

Creating A Pull Request

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.