6
6
<a href =" https://codecov.io/gh/Davidodari/The-Force-Clean-MVVM-ArchComponents- " >
7
7
<img src =" https://codecov.io/gh/Davidodari/The-Force-Clean-MVVM-ArchComponents-/branch/develop/graph/badge.svg?token=8kkIQYTrfQ " />
8
8
</a >  ;
9
- <a href =" https://www.codacy.com/manual/Davidodari/Clean-MVVM-ArchComponents?utm_source= github. com& amp ; utm_medium=referral & amp ; utm_content= odaridavid/Clean-MVVM-ArchComponents & amp ; utm_campaign=Badge_Grade " ><img src =" https://app.codacy.com/project/badge/Grade/aff63473b3e7420f9c23ffb4a64b19ed " /></a >
9
+ <a href =" https://codebeat.co/projects/ github- com- odaridavid-clean-mvvm-archcomponents-develop " ><img alt = " codebeat badge " src =" https://codebeat.co/badges/3032633f-5bec-413e-a5fa-b385fe7cc298 " /></a >
10
10
</p >
11
11
12
12
# The-Force
@@ -19,24 +19,54 @@ Min Api Level : 21 [Supports Over 87% Devices ](https://developer.android.com/ab
19
19
20
20
Build System : [ Gradle] ( https://gradle.org/ )
21
21
22
+ ## Table of Contents
23
+
24
+ - [ Prerequisite] ( #prerequisite )
25
+ - [ Architecture] ( #architecture )
26
+ - [ Testing] ( #testing )
27
+ - [ Libraries] ( #libraries )
28
+ - [ Contributors] ( #contributors )
29
+ - [ Related Posts] ( #related-posts )
30
+ - [ Demo] ( #demo )
31
+
22
32
## Prerequisite
23
33
24
34
Before running the project create a [ firebase project] ( https://firebase.google.com/ )
25
35
and replace the ** google-services.json** with yours in the ` app ` directory for a successful build and
26
- enable crashylitics .
36
+ enable crashlytics .
27
37
```
28
38
package-name: com.k0d4black.theforce
29
39
```
30
40
31
- ## Table of Contents
41
+ To run the release build successfully in travis you will need to replace the default values in
42
+ ``` keystore.properties.sample ``` file with your own in a ``` keystore.properties ``` file.
32
43
33
- - [ Architecture] ( #architecture )
34
- - [ Testing] ( #testing )
35
- - [ Libraries] ( #libraries )
36
- - [ Contributors] ( #contributors )
37
- - [ Extras] ( #extras )
38
- - [ Related Posts] ( #related-posts )
39
- - [ Demo] ( #demo )
44
+ Next archive your keystore file and the properties file with the following command
45
+ ``` shell script
46
+ tar cvf secrets.tar keystore.properties theforce.jks
47
+ ```
48
+
49
+ Next encrypt the archive and add config to travis with the following command
50
+ ``` shell script
51
+ travis encrypt-file --pro secrets.tar --add
52
+ ```
53
+
54
+ Verify that in your travis.yml in the ``` before_install ``` it looks something like
55
+ ``` yaml
56
+ before_install :
57
+ - openssl aes-256-cbc -K $encrypted_5880cf525281_key -iv $encrypted_5880cf525281_iv -in secrets.tar.enc -out secrets.tar -d
58
+ - tar xvf secrets.tar
59
+ ` ` `
60
+
61
+ Make sure to add only the ` *.enc` file to git,leave out the keystore.properties and `*.jks` file.
62
+ Add the following to the root `.gitignore` just to be sure
63
+ ` ` ` gitignore
64
+ *.jks
65
+ *.tar
66
+ keystore.properties
67
+ ` ` `
68
+
69
+ If you encounter any error check [this site](https://docs.travis-ci.com/user/encrypting-files/) out.
40
70
41
71
# # Architecture
42
72
@@ -177,57 +207,6 @@ and default parameters
177
207
178
208
Feel free to contribute in any way to the project.
179
209
180
- ## Extras
181
-
182
- #### Gradle Dependencies
183
-
184
- Centralized versioning of gradle dependencies in a global file,
185
- ``` dependencies.gradle ``` , visible to all available modules.This helps
186
- maintain dependency versioning for different modules as well as improve
187
- dependency organisation and readability by providing a clear separation
188
- of which dependencies go where.
189
-
190
- #### CI-Pipeline
191
-
192
- [ Travis CI] ( https://travis-ci.com/ ) is used for development pipeline to
193
- automatically build and test the project every time you push updates to
194
- version control.
195
-
196
- #### Code Analysis
197
-
198
- With static code analysis you can enforce a consistent style guide on
199
- the project.This is possible by defining constraints with Detekt.
200
-
201
- This Project is integrated with [ Codacy] ( https://www.codacy.com/ ) that
202
- makes use of Detekt for static code analysis on Kotlin files.You can
203
- either configure rules from their dashboard or enforce a Detekt
204
- configuration locally and port it to codacy.
205
-
206
- The rules can be configured to be checked for each pull request,commit
207
- or merge made.
208
-
209
- #### Resource Values
210
-
211
- ** Fonts**
212
-
213
- The app makes use of downloadable fonts which reduces APK size compared to
214
- having the font files within the app.
215
-
216
- ** Dimension & String Values**
217
-
218
- String values are stored in the strings value file this will make it
219
- easier for app localization and internationalization as well as string
220
- templating currently utilised by data binding.
221
-
222
- Dimensions have also been stored in a dimensions value file making it
223
- easy to reuse dimension values across the app.
224
-
225
- ** Themes & Styles**
226
-
227
- Theming is guided by the material design specifications with a ``` DayNight ```
228
- theme which can later be used to provide Night variant for the app and
229
- enhance user experience.
230
-
231
210
# # Demo
232
211
233
212
<img src="art/force_gif.gif" width=200/>
0 commit comments