|
1 | | -# android_kotlin_boilerplate |
| 1 | +# Welcome to Android Kotlin Boilerplate! |
| 2 | + |
| 3 | +This repository provides a boilerplate codebase for developing Android applications using Kotlin. It aims to provide a starting point with preconfigured project structure, common libraries, and best practices to kickstart your Android development process. |
| 4 | + |
| 5 | +## Table of Contents |
| 6 | +* [Getting Started](#getting-started) |
| 7 | +* [Softwares and Version Install Android](#software-and-version-install-android) |
| 8 | +* [Features](#features) |
| 9 | +* [Clone Project](#clone-project) |
| 10 | +* [Folder Structure](#folder-structure) |
| 11 | +* [Build variants](#build-variants) |
| 12 | +* [Dependencies](#dependencies) |
| 13 | +* [Test Dependencies](#test-dependencies) |
| 14 | +* [LICENSE](#license) |
| 15 | + |
| 16 | + |
| 17 | +## Getting Started |
| 18 | + |
| 19 | +This project is a starting point for a Android application. |
| 20 | + |
| 21 | +A few resources to get you started if this is your first Android project: |
| 22 | + |
| 23 | +- [Android Developer Documentation](https://developer.android.com/docs) |
| 24 | +- [Kotlin Documentation](https://kotlinlang.org/docs/home.html) |
| 25 | + |
| 26 | +For help getting started with Android development, refer to the [official Android documentation](https://developer.android.com/), which provides tutorials, samples, guidance on mobile development, and a comprehensive API reference. |
| 27 | +- An Android app with MVVM architectural pattern. |
| 28 | +- _ViewBinding_ for activities and fragments. |
| 29 | +- Android Studio _EditorConfig_ file to maintain consistent coding styles. |
| 30 | + |
| 31 | +# Softwares and Version Install Android: |
| 32 | + |
| 33 | +https://docs.flutter.dev/get-started/install |
| 34 | +Install Android Studio : Android Studio Dolphin | 2021.3.1 Patch 1 |
| 35 | + |
| 36 | +- Android supported version: |
| 37 | + - compileSdk 33 |
| 38 | + - minSdk 21 |
| 39 | + - targetSdk 33 |
| 40 | + - versionCode 1 |
| 41 | + - versionName "1.0" |
| 42 | + - jvmTarget '1.8' |
| 43 | + |
| 44 | + |
| 45 | +## Features |
| 46 | +* [Authentication](#authentication) |
| 47 | +* [Dashboard](#dashboard) |
| 48 | + |
| 49 | +# Clone Project : |
| 50 | + |
| 51 | +git clone https://github.com/TechnourceDeveloper/android_kotlin_boilerplate |
| 52 | +After cloning the project, you can open it in Android Studio by following these steps: |
| 53 | +1. Open Android Studio. |
| 54 | +2. Select "Open an existing Android Studio project" from the welcome screen. |
| 55 | +3. Navigate to the directory where you cloned the project and select the project folder. |
| 56 | +4. Click "OK" to open the project in Android Studio. |
| 57 | +5. Android Studio will take some time to index and set up the project. |
| 58 | +6. Once the indexing is complete, you can start working on the Android project in Android Studio. |
| 59 | + |
| 60 | +# Folder Structure: |
| 61 | +```commandline |
| 62 | +. |
| 63 | +├── app - Folder which contains example application |
| 64 | +│ ├── src |
| 65 | +│ └── main |
| 66 | +│ ├── manifests |
| 67 | +│ └── java |
| 68 | +│ ├── com.technource.android |
| 69 | +│ ├── base |
| 70 | +│ ├── commonInterface |
| 71 | +│ ├── preference |
| 72 | +│ ├── ui |
| 73 | +│ ├── utils |
| 74 | +│ ├── assets |
| 75 | +│ ├── res |
| 76 | +│ ├── anim |
| 77 | +│ ├── color |
| 78 | +│ ├── drawable |
| 79 | +│ ├── font |
| 80 | +│ ├── layout |
| 81 | +│ ├── menu |
| 82 | +│ ├── mipmap |
| 83 | +│ ├── values |
| 84 | +│ ├── colors |
| 85 | +│ ├── dimens |
| 86 | +│ ├── strings |
| 87 | +| ├── xml |
| 88 | +├── build.gradle |
| 89 | +├── gradle - Folder for gradle build tool |
| 90 | +├── gradle.properties - File for gradle configuration |
| 91 | +├── gradlew |
| 92 | +├── gradlew.bat |
| 93 | +├── project.properties |
| 94 | +├── README.md |
| 95 | +└── settings.gradle - File for graddle setting |
| 96 | +``` |
| 97 | +## Build variants |
| 98 | + |
| 99 | +Herein you can find multiple targets that the app takes into account: |
| 100 | +Where the following formed variants are built for staging purposes: |
| 101 | + |
| 102 | +- stagingInternalDebug |
| 103 | +- stagingInternalRelease |
| 104 | + |
| 105 | +And these ones for production purposes: |
| 106 | + |
| 107 | +- productionInternalDebug |
| 108 | +- productionInternalRelease |
| 109 | +- productionExternalDebug |
| 110 | +- productionExternalRelease |
| 111 | + |
| 112 | +## Dependencies |
| 113 | +- App Localization |
| 114 | + implementation 'dev.b3nedikt.applocale:applocale:3.0.0' |
| 115 | + implementation 'dev.b3nedikt.reword:reword:4.0.2' |
| 116 | +- PinView |
| 117 | + implementation 'io.github.chaosleung:pinview:1.4.4' |
| 118 | +- Glide |
| 119 | + implementation 'com.github.bumptech.glide:glide:4.14.2' |
| 120 | + kapt 'com.github.bumptech.glide:compiler:4.14.2' |
| 121 | +- Image picker |
| 122 | + implementation 'com.github.dhaval2404:imagepicker:2.1' |
| 123 | + |
| 124 | +## Test Dependencies |
| 125 | + |
| 126 | +- [JUnit](https://github.com/junit-team/junit4) - a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks. |
| 127 | +- [AndroidX](https://github.com/android/android-test) - the androidx test library provides an extensive framework for testing Android apps. |
| 128 | + |
| 129 | +## Authentication |
| 130 | +- Registration Screen |
| 131 | +- Login Screen |
| 132 | +- Forgot-password Screen |
| 133 | +- OTP Verification Screen |
| 134 | +- Reset Password Screen |
| 135 | +- Edit Profile Screen |
| 136 | + - Upload Photo from Camera & Gallery |
| 137 | +## Application Language |
| 138 | +- English |
| 139 | +- French |
| 140 | +- Russian |
| 141 | +## Dashboard |
| 142 | +- Dashboard UI with Bottom TabNavigation |
| 143 | +- AboutUs Screen |
| 144 | +- Terms-Conditions Screen |
| 145 | +- Privacy-Policy Screen |
| 146 | +- Change Language Screen |
| 147 | +- Logout Screen |
| 148 | + |
| 149 | +## License |
| 150 | + |
| 151 | +- This project is licensed under the [MIT License](LICENSE) |
0 commit comments