Skip to content

Commit 0153a46

Browse files
authored
release: v1.2.0 (#79)
* refactor(utils): improve group_model_by * test: group_model_by * chore: code clean up * refactor: measurements (#74) * chore: code clean up * refactor: cancel + done action buttons * refactor: move measures to homepage grids * feat: tasks (#75) * refactor(job): implement dueAt date * chore: initial tasks page * chore(deps): timeago * feat: implement tasks page * refactor: fast-forward due date by 7days * feat(job): implement due date selection * refactor: revamp (#77) * chore: first look * chore: code clean * chore: even more clean * chore: set uo reducers * chore: epics -> middlewares * chore: view models * chore: LGSF * chore: code clean * chore: code clean * chore: code clean * chore: LGSF * chore: code clean (#78) * chore: first wave * chore: done w/ contacts * chore: one clean swoop * chore: LGSF * chore: LGTM * chore: LGSF * refactor: even more * feat: LGTM * chore: code clean * refactor: streams (#80) * chore: first look * chore: code clean * chore: second look * chore: LGSF * chore: LGSF * refactor: LGTM * feat: done! * chore: code clean * refactor: use Observables * feat: done * chore: makefile * feat: v1.2.0 * fix(gradle): versionClassifier
1 parent 308ca5e commit 0153a46

File tree

301 files changed

+11340
-7629
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

301 files changed

+11340
-7629
lines changed

.gitignore

+67-16
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,73 @@
1-
# See https://www.dartlang.org/tools/private-files.html
1+
# Miscellaneous
2+
*.class
3+
*.lock
4+
*.log
5+
*.pyc
6+
*.swp
7+
.DS_Store
8+
.atom/
9+
.buildlog/
10+
.history
11+
.svn/
12+
13+
# IntelliJ related
14+
*.iml
15+
*.ipr
16+
*.iws
17+
.idea/
218

3-
# Files and directories created by pub
19+
# Visual Studio Code related
20+
# .vscode/
21+
22+
# Flutter/Dart/Pub related
23+
**/doc/api/
24+
.dart_tool/
25+
.flutter-plugins
426
.packages
27+
.pub-cache/
528
.pub/
629
build/
7-
# If you're building an application, you may want to check-in your pubspec.lock
8-
pubspec.lock
930

10-
# Directory created by dartdoc
11-
# If you don't generate documentation locally you can remove this line.
12-
doc/api/
31+
# Android related
32+
**/android/**/gradle-wrapper.jar
33+
**/android/.gradle
34+
**/android/captures/
35+
**/android/gradlew
36+
**/android/gradlew.bat
37+
**/android/local.properties
38+
**/android/**/GeneratedPluginRegistrant.java
1339

14-
.DS_Store
15-
.atom/
16-
.dart_tool/
17-
.idea
18-
ios/.generated/
19-
packages
20-
.flutter-plugins
21-
.log
22-
make.sh
40+
# iOS/XCode related
41+
**/ios/**/*.mode1v3
42+
**/ios/**/*.mode2v3
43+
**/ios/**/*.moved-aside
44+
**/ios/**/*.pbxuser
45+
**/ios/**/*.perspectivev3
46+
**/ios/**/*sync/
47+
**/ios/**/.sconsign.dblite
48+
**/ios/**/.tags*
49+
**/ios/**/.vagrant/
50+
**/ios/**/DerivedData/
51+
**/ios/**/Icon?
52+
**/ios/**/Pods/
53+
**/ios/**/.symlinks/
54+
**/ios/**/profile
55+
**/ios/**/xcuserdata
56+
**/ios/.generated/
57+
**/ios/Flutter/App.framework
58+
**/ios/Flutter/Flutter.framework
59+
**/ios/Flutter/Generated.xcconfig
60+
**/ios/Flutter/app.flx
61+
**/ios/Flutter/app.zip
62+
**/ios/Flutter/flutter_assets/
63+
**/ios/ServiceDefinitions.json
64+
**/ios/Runner/GeneratedPluginRegistrant.*
65+
66+
# Exceptions to above rules.
67+
!**/ios/**/default.mode1v3
68+
!**/ios/**/default.mode2v3
69+
!**/ios/**/default.pbxuser
70+
!**/ios/**/default.perspectivev3
71+
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
72+
73+
*.log

.vscode/launch.json

+38-9
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,42 @@
33
// Hover to view descriptions of existing attributes.
44
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
55
"version": "0.2.0",
6-
"configurations": [{
7-
"name": "Flutter",
8-
"type": "dart",
9-
"request": "launch",
10-
"args": [
11-
"--flavor=dev"
12-
],
13-
"program": "lib/main.dart"
14-
}]
6+
"configurations": [
7+
{
8+
"name": "Dev (Dev)",
9+
"type": "dart",
10+
"request": "launch",
11+
"args": ["--flavor", "dev"],
12+
"program": "${workspaceFolder}/lib/main_dev.dart"
13+
},
14+
{
15+
"name": "Dev (Prod)",
16+
"type": "dart",
17+
"request": "launch",
18+
"args": ["--flavor", "prod"],
19+
"program": "${workspaceFolder}/lib/main_dev.dart"
20+
},
21+
{
22+
"name": "Prod (Dev)",
23+
"type": "dart",
24+
"request": "launch",
25+
"args": ["--flavor", "dev"],
26+
"program": "${workspaceFolder}/lib/main_prod.dart"
27+
},
28+
{
29+
"name": "Prod (Prod)",
30+
"type": "dart",
31+
"request": "launch",
32+
"args": ["--flavor", "prod"],
33+
"program": "${workspaceFolder}/lib/main_prod.dart"
34+
},
35+
{
36+
"name": "Profile",
37+
"request": "launch",
38+
"type": "dart",
39+
"program": "${workspaceFolder}/lib/main_dev.dart",
40+
"args": ["--no-track-widget-creation", "--flavor", "prod"],
41+
"flutterMode": "profile"
42+
}
43+
]
1544
}

README.md

+8-9
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# TailorMade: Managing a Fashion designer's daily routine.
44

5-
TailorMade is what actually started out as an experiment with [Flutter](https://flutter.io/), [flutter_redux](https://github.com/brianegan/flutter_redux) and [Firebase Cloud Functions](https://github.com/flutter/plugins/tree/master/packages/cloud_functions) but instead turned out to be a valuable tool for managing a Fashion designer's daily routine. It is clean, easy on the eyes and overall has a very smooth feel. It also handles offline use cases with Firebase Cloud. Logo, Design & Concept by Me.
5+
TailorMade is what actually started out as an experiment with [Flutter](https://flutter.io/), [~flutter_redux~](https://github.com/brianegan/flutter_redux) [ReBLoC](https://github.com/redbrogdon/rebloc) and [Firebase Cloud Functions](https://github.com/flutter/plugins/tree/master/packages/cloud_functions) but instead turned out to be a valuable tool for managing a Fashion designer's daily routine. It is clean, easy on the eyes and overall has a very smooth feel. It also handles offline use cases with Firebase Cloud. Logo, Design & Concept by Me.
66

77
<div>
88
<a href='https://play.google.com/store/apps/details?id=io.github.jogboms.tailormade'><img alt='Get it on Google Play' src='./screenshots/google_play.png' height='40px'/></a>
@@ -16,14 +16,13 @@ TailorMade is what actually started out as an experiment with [Flutter](https://
1616
4. Firebase Storage
1717
5. Google SignIn
1818
6. RxDart
19-
7. Flutter Redux
20-
8. Redux Epics
21-
9. Image Picker
22-
10. Photo View
23-
11. Cached Network Image
24-
12. Flutter SpinKit
25-
13. Flutter Get Version
26-
14. Flutter Masked Text
19+
7. ReBLoC
20+
8. Image Picker
21+
9. Photo View
22+
10. Cached Network Image
23+
11. Flutter SpinKit
24+
12. Flutter Get Version
25+
13. Flutter Masked Text
2726

2827
For a full description of OSS used, see pubspec.yaml
2928

TASKS.todo

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
PENDING:
1+
TASKS:
22
☐ delete-able payment + images + jobs + contacts @goals
33
☐ implement share payment + image @goals
44
☐ Collect account details on account creation @goals
@@ -11,8 +11,11 @@ PENDING:
1111
☐ gradual migration to BLoC to reduce boilerplate from Redux @goals
1212
☐ copy and paste jobs @goals
1313
☐ migrate all firebase actions to within epics @goals
14+
☐ update README with SS @critical
1415

15-
COMPLETED:
16+
✔ add tasks + measures menu options @high @done(18-07-28 19:37)
17+
✔ add due-date to job @high @done(18-07-28 19:37)
18+
✔ add cancel + done action buttons to modals with editable @critical @done(18-07-28 14:41)
1619
✔ indicator for premium accounts @goals @done(18-07-27 04:38)
1720
✔ add in-app review @quickie @done(18-07-27 03:16)
1821
✔ personalize measurements w/ account @critical @done(18-07-25 18:47)

analysis_options.yaml

+4-6
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
# in sync with this file.
2323

2424
analyzer:
25-
language:
26-
enableSuperMixins: true
2725
strong-mode:
2826
implicit-dynamic: false
2927
errors:
@@ -34,11 +32,11 @@ analyzer:
3432
# allow having TODOs in the code
3533
todo: ignore
3634
exclude:
37-
- 'bin/cache/**'
35+
- "bin/cache/**"
3836
# the following two are relative to the stocks example and the flutter package respectively
3937
# see https://github.com/dart-lang/sdk/issues/28463
40-
- 'lib/i18n/stock_messages_*.dart'
41-
- 'lib/src/http/**'
38+
- "lib/i18n/stock_messages_*.dart"
39+
- "lib/src/http/**"
4240

4341
linter:
4442
rules:
@@ -112,7 +110,6 @@ linter:
112110
# - parameter_assignments # we do this commonly
113111
- prefer_adjacent_string_concatenation
114112
- prefer_asserts_in_initializer_lists
115-
- prefer_bool_in_asserts
116113
- prefer_collection_literals
117114
- prefer_conditional_assignment
118115
# - prefer_const_constructors
@@ -146,6 +143,7 @@ linter:
146143
- unnecessary_brace_in_string_interps
147144
- unnecessary_getters_setters
148145
# - unnecessary_lambdas # https://github.com/dart-lang/linter/issues/498
146+
- unnecessary_new
149147
- unnecessary_null_aware_assignments
150148
- unnecessary_null_in_if_null_operators
151149
- unnecessary_overrides
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
#Mon Apr 09 13:31:22 WAT 2018
21
connection.project.dir=
2+
eclipse.preferences.version=1

android/app/.classpath

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
<classpath>
33
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
44
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
5-
<classpathentry kind="output" path="bin"/>
5+
<classpathentry kind="output" path="bin/default"/>
66
</classpath>

android/app/build.gradle

+7-6
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,24 @@ def keystoreProperties = new Properties()
1919
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
2020

2121
ext.versionMajor = 1
22-
ext.versionMinor = 1
22+
ext.versionMinor = 2
2323
ext.versionPatch = 0
24-
ext.versionClassifier = "beta"
24+
ext.versionClassifier = null
2525
ext.isSnapshot = false
26-
ext.minimumSdkVersion = 16
26+
ext.minimumSdkVersion = 17
2727

2828
android {
29-
compileSdkVersion 27
29+
compileSdkVersion 28
3030

3131
lintOptions {
3232
disable 'InvalidPackage'
3333
}
3434

3535
defaultConfig {
3636
applicationId "io.github.jogboms.tailormade"
37-
minSdkVersion 16
38-
targetSdkVersion 27
37+
minSdkVersion 17
38+
targetSdkVersion 28
39+
multiDexEnabled true
3940
versionCode generateVersionCode()
4041
versionName generateVersionName()
4142
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<string name="app_name">(Dev) Tailor Made</string>
4+
</resources>

android/app/src/main/AndroidManifest.xml

+14-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.github.jogboms.tailormade">
1+
<manifest
2+
xmlns:android="http://schemas.android.com/apk/res/android"
3+
package="io.github.jogboms.tailormade">
24
<!-- The INTERNET permission is required for development. Specifically,
35
flutter needs it to communicate with the running application
46
to allow setting breakpoints, to provide hot reload, etc.
@@ -10,8 +12,17 @@
1012
In most cases you can leave this as-is, but you if you want to provide
1113
additional functionality it is fine to subclass or reimplement
1214
FlutterApplication and put your custom class here. -->
13-
<application android:name="io.flutter.app.FlutterApplication" android:label="Tailor Made" android:icon="@mipmap/ic_launcher">
14-
<activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize">
15+
<application
16+
android:name="io.flutter.app.FlutterApplication"
17+
android:label="@string/app_name"
18+
android:icon="@mipmap/ic_launcher">
19+
<activity
20+
android:name=".MainActivity"
21+
android:launchMode="singleTop"
22+
android:theme="@style/LaunchTheme"
23+
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|uiMode"
24+
android:hardwareAccelerated="true"
25+
android:windowSoftInputMode="adjustResize">
1526
<!-- This keeps the window background of the activity showing
1627
until Flutter renders its first frame. It can be removed if
1728
there is no splash screen (such as the default splash screen
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<string name="app_name">Tailor Made</string>
4+
</resources>

android/build.gradle

+11-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ buildscript {
55
}
66

77
dependencies {
8-
classpath 'com.android.tools.build:gradle:3.0.1'
9-
classpath 'com.google.gms:google-services:3.2.1'
8+
classpath 'com.android.tools.build:gradle:3.1.2'
9+
classpath 'com.google.gms:google-services:4.2.0'
1010
}
1111
}
1212

@@ -20,6 +20,15 @@ allprojects {
2020
rootProject.buildDir = '../build'
2121
subprojects {
2222
project.buildDir = "${rootProject.buildDir}/${project.name}"
23+
24+
project.configurations.all {
25+
resolutionStrategy.eachDependency { details ->
26+
if (details.requested.group == 'com.android.support'
27+
&& !details.requested.name.contains('multidex') ) {
28+
details.useVersion "27.1.1"
29+
}
30+
}
31+
}
2332
}
2433
subprojects {
2534
project.evaluationDependsOn(':app')
-52.4 KB
Binary file not shown.

android/gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

0 commit comments

Comments
 (0)