Skip to content

Commit

Permalink
release: v1.2.0 (#79)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
jogboms authored Feb 3, 2019
1 parent 308ca5e commit 0153a46
Show file tree
Hide file tree
Showing 301 changed files with 11,340 additions and 7,629 deletions.
83 changes: 67 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,22 +1,73 @@
# See https://www.dartlang.org/tools/private-files.html
# Miscellaneous
*.class
*.lock
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# Files and directories created by pub
# Visual Studio Code related
# .vscode/

# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
.flutter-plugins
.packages
.pub-cache/
.pub/
build/
# If you're building an application, you may want to check-in your pubspec.lock
pubspec.lock

# Directory created by dartdoc
# If you don't generate documentation locally you can remove this line.
doc/api/
# Android related
**/android/**/gradle-wrapper.jar
**/android/.gradle
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java

.DS_Store
.atom/
.dart_tool/
.idea
ios/.generated/
packages
.flutter-plugins
.log
make.sh
# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*

# Exceptions to above rules.
!**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages

*.log
47 changes: 38 additions & 9 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,42 @@
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [{
"name": "Flutter",
"type": "dart",
"request": "launch",
"args": [
"--flavor=dev"
],
"program": "lib/main.dart"
}]
"configurations": [
{
"name": "Dev (Dev)",
"type": "dart",
"request": "launch",
"args": ["--flavor", "dev"],
"program": "${workspaceFolder}/lib/main_dev.dart"
},
{
"name": "Dev (Prod)",
"type": "dart",
"request": "launch",
"args": ["--flavor", "prod"],
"program": "${workspaceFolder}/lib/main_dev.dart"
},
{
"name": "Prod (Dev)",
"type": "dart",
"request": "launch",
"args": ["--flavor", "dev"],
"program": "${workspaceFolder}/lib/main_prod.dart"
},
{
"name": "Prod (Prod)",
"type": "dart",
"request": "launch",
"args": ["--flavor", "prod"],
"program": "${workspaceFolder}/lib/main_prod.dart"
},
{
"name": "Profile",
"request": "launch",
"type": "dart",
"program": "${workspaceFolder}/lib/main_dev.dart",
"args": ["--no-track-widget-creation", "--flavor", "prod"],
"flutterMode": "profile"
}
]
}
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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

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.
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.

<div>
<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>
Expand All @@ -16,14 +16,13 @@ TailorMade is what actually started out as an experiment with [Flutter](https://
4. Firebase Storage
5. Google SignIn
6. RxDart
7. Flutter Redux
8. Redux Epics
9. Image Picker
10. Photo View
11. Cached Network Image
12. Flutter SpinKit
13. Flutter Get Version
14. Flutter Masked Text
7. ReBLoC
8. Image Picker
9. Photo View
10. Cached Network Image
11. Flutter SpinKit
12. Flutter Get Version
13. Flutter Masked Text

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

Expand Down
7 changes: 5 additions & 2 deletions TASKS.todo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PENDING:
TASKS:
☐ delete-able payment + images + jobs + contacts @goals
☐ implement share payment + image @goals
☐ Collect account details on account creation @goals
Expand All @@ -11,8 +11,11 @@ PENDING:
☐ gradual migration to BLoC to reduce boilerplate from Redux @goals
☐ copy and paste jobs @goals
☐ migrate all firebase actions to within epics @goals
☐ update README with SS @critical

COMPLETED:
✔ add tasks + measures menu options @high @done(18-07-28 19:37)
✔ add due-date to job @high @done(18-07-28 19:37)
✔ add cancel + done action buttons to modals with editable @critical @done(18-07-28 14:41)
✔ indicator for premium accounts @goals @done(18-07-27 04:38)
✔ add in-app review @quickie @done(18-07-27 03:16)
✔ personalize measurements w/ account @critical @done(18-07-25 18:47)
Expand Down
10 changes: 4 additions & 6 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@
# in sync with this file.

analyzer:
language:
enableSuperMixins: true
strong-mode:
implicit-dynamic: false
errors:
Expand All @@ -34,11 +32,11 @@ analyzer:
# allow having TODOs in the code
todo: ignore
exclude:
- 'bin/cache/**'
- "bin/cache/**"
# the following two are relative to the stocks example and the flutter package respectively
# see https://github.com/dart-lang/sdk/issues/28463
- 'lib/i18n/stock_messages_*.dart'
- 'lib/src/http/**'
- "lib/i18n/stock_messages_*.dart"
- "lib/src/http/**"

linter:
rules:
Expand Down Expand Up @@ -112,7 +110,6 @@ linter:
# - parameter_assignments # we do this commonly
- prefer_adjacent_string_concatenation
- prefer_asserts_in_initializer_lists
- prefer_bool_in_asserts
- prefer_collection_literals
- prefer_conditional_assignment
# - prefer_const_constructors
Expand Down Expand Up @@ -146,6 +143,7 @@ linter:
- unnecessary_brace_in_string_interps
- unnecessary_getters_setters
# - unnecessary_lambdas # https://github.com/dart-lang/linter/issues/498
- unnecessary_new
- unnecessary_null_aware_assignments
- unnecessary_null_in_if_null_operators
- unnecessary_overrides
Expand Down
2 changes: 1 addition & 1 deletion android/.settings/org.eclipse.buildship.core.prefs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#Mon Apr 09 13:31:22 WAT 2018
connection.project.dir=
eclipse.preferences.version=1
2 changes: 1 addition & 1 deletion android/app/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="output" path="bin/default"/>
</classpath>
13 changes: 7 additions & 6 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,24 @@ def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

ext.versionMajor = 1
ext.versionMinor = 1
ext.versionMinor = 2
ext.versionPatch = 0
ext.versionClassifier = "beta"
ext.versionClassifier = null
ext.isSnapshot = false
ext.minimumSdkVersion = 16
ext.minimumSdkVersion = 17

android {
compileSdkVersion 27
compileSdkVersion 28

lintOptions {
disable 'InvalidPackage'
}

defaultConfig {
applicationId "io.github.jogboms.tailormade"
minSdkVersion 16
targetSdkVersion 27
minSdkVersion 17
targetSdkVersion 28
multiDexEnabled true
versionCode generateVersionCode()
versionName generateVersionName()
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
Expand Down
4 changes: 4 additions & 0 deletions android/app/src/dev/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">(Dev) Tailor Made</string>
</resources>
17 changes: 14 additions & 3 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.github.jogboms.tailormade">
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="io.github.jogboms.tailormade">
<!-- The INTERNET permission is required for development. Specifically,
flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
Expand All @@ -10,8 +12,17 @@
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<application android:name="io.flutter.app.FlutterApplication" android:label="Tailor Made" android:icon="@mipmap/ic_launcher">
<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">
<application
android:name="io.flutter.app.FlutterApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- This keeps the window background of the activity showing
until Flutter renders its first frame. It can be removed if
there is no splash screen (such as the default splash screen
Expand Down
4 changes: 4 additions & 0 deletions android/app/src/prod/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Tailor Made</string>
</resources>
13 changes: 11 additions & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:3.2.1'
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:4.2.0'
}
}

Expand All @@ -20,6 +20,15 @@ allprojects {
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"

project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "27.1.1"
}
}
}
}
subprojects {
project.evaluationDependsOn(':app')
Expand Down
Binary file removed android/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
Loading

0 comments on commit 0153a46

Please sign in to comment.