Skip to content

Commit 2fe1434

Browse files
Damian MazurkiewiczDamian Mazurkiewicz
Damian Mazurkiewicz
authored and
Damian Mazurkiewicz
committed
Changing name to Bodyweight Fitness Application. Refactoring of the whole application.
0 parents  commit 2fe1434

File tree

172 files changed

+2460
-0
lines changed

Some content is hidden

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

172 files changed

+2460
-0
lines changed

.gitignore

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Keys
2+
api.xml
3+
fabric.properties
4+
5+
# Built application files
6+
*.apk
7+
*.ap_
8+
9+
# Files for the Dalvik VM
10+
*.dex
11+
12+
# Java class files
13+
*.class
14+
15+
# Generated files
16+
bin/
17+
gen/
18+
19+
# Gradle files
20+
.gradle/
21+
build/
22+
gradlew
23+
gradlew.bat
24+
gradle/
25+
26+
# Local configuration file (sdk path, etc)
27+
local.properties
28+
29+
# Proguard folder generated by Eclipse
30+
proguard/
31+
32+
# Log Files
33+
*.log
34+
35+
# Other
36+
.DS_Store
37+
.idea
38+
*.iml

Description.md

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
Introducing Fit for Reddit: /r/bodyweightfitness Personal Mobile App
2+
3+
Hi **guys!**
4+
5+
Introducing **Fit for Reddit**, a **mobile app** created for /r/bodyweightfitness. Fit for Reddit is an **open source**, **free** and **no adverts** mobile application for **Android** and **iOS** (Work in Progress, 2 - 3 weeks).
6+
7+
I have started working on this app couple of months ago but because of personal reasons I had to stop and focus on work and family. Less than a week ago, I decided to finish it as you can see from [this comment.](http://www.reddit.com/r/bodyweightfitness/comments/3b658h/fitloopco_goes_open_source/csjadph)
8+
9+
The inspiration for this app is /u/imanateater amazing Fitloop. I have discovered this subreddit months ago (Or even years now) but started working out after Fitloop helped me to understand the routine.
10+
11+
Today I want to bring this contribution forward and present you the application, here is an album presenting how it looks like at th emoment:
12+
13+
http://imgur.com/a/tWSDu
14+
15+
The app is not meant to replace fitloop! Don't get me wrong, I love fitloop and what /u/imanateater did. My goal is to talk to /u/imanateater and see how in next few months we can work together to create a login/signup in the app that uses fitloop credentials etc.
16+
17+
The app is Open Source but at the moment source is out of date. Going to push Android Code tomorrow, iOS is currently in the works and hopefully I can finish it in next 2 weeks. I also have to choose apropriate license.
18+
19+
**GitHub:**
20+
21+
https://github.com/mazurio/fit-for-reddit-android
22+
https://github.com/mazurio/fit-for-reddit-ios
23+
24+
**Download Android:**
25+
26+
**Free:** https://play.google.com/store/apps/details?id=io.mazur.fit.reddit.free
27+
**Pro / Donation (£1.99 / $2.49):** https://play.google.com/store/apps/details?id=io.mazur.fit.reddit.pro
28+
29+
**Download iOS:**
30+
31+
Work in progress, hopefully going to be finished in next 2 - 3 weeks but might take longer.
32+
33+
**Where is the money from Pro version going?**
34+
35+
As you know fitloop is sponsored by links to Amazon as /u/imanateater does not accept donations.
36+
37+
I have chosen to create Pro version as a form of donation. I hate having adverts in the app and I think it destroys the design and user experience. Both Free and Pro versions will always (ALWAYS) be the same when it comes to functionality. This is purely done to accept some kind of donation that is not too much.
38+
39+
Part of the money would go towards Apple Developer License for one year which is £79. I haven't published anything on iOS yet so this is going to be one of the costs in next few weeks.
40+
41+
As I love this subreddit and it's community, I am going to be honest. My ultimate goal is to be able to gather some money for an engagement ring for my amazing girlfriend. I know she will never read this post so I am free to say it.
42+
43+
**What about bugs?**
44+
45+
Please report anything you can find by private message on reddit /u/mazurio
46+
47+
Otherwise you can use email that can be found on GitHub: https://github.com/mazurio
48+
49+
**What is coming next?**
50+
51+
I want to keep the app simple but add features over time, here is the timeline.
52+
53+
* iOS version in next 2 - 3 weeks.
54+
55+
* Login / Signup with your Fitloop account, hopefully after /u/imanateater agrees :).
56+
57+
* Android Wear Support.
58+
59+
* Each exercise in the app will also link to Fitloop for more information and YouTube video. As you can see, those Gifs are simple but not perfect. Most of the videos are more than 10 minutes long with explanations.
60+
61+
* Ability to hide videos and change layout of the app (some people want to see the timer but not the video).
62+
63+
* Log your workouts (I can either make it simple like fitloop or add overall time from each workout).
64+
65+
* Notifications, this is 90% done as this was one of the first features I have started working on. You will be able to choose notifications you can get through weeks (e.g. Set my Workout days to Monday/Wednesday/Friday and get reminders). It will also remind abuot /r/bodyweightfitness specific events such as Moronic Monday etc.
66+
67+
* More personalisation and settings.
68+
69+
* Maybe me and /u/imanateater can discuss naming apps Fitloop rather than Fit for Reddit? What do you guys think?
70+
71+
* I will push the source code tomorrow with Logo PSD file. I am not a designer and I think logo at the moment looks quite bad. I would love to see someone make a contribution and create a nice, material logo for both iOS and Android versions.
72+
73+
* Create your own routines, modify existing routines. This is just an idea for now but it also depends on what /u/imanateater says.
74+
75+
Please tell me what do you guys think, I will keep working on the apps for both Android and iOS as I really enjoy it.
76+
77+
Those apps are created for this community, please read the comment from /u/Antranik [here.](http://www.reddit.com/r/bodyweightfitness/comments/3b658h/fitloopco_goes_open_source/csjmqmo)
78+
79+
I would love to see this sub participate in their own open source project to make things even better.
80+
81+
Hope you love it,
82+
**mazurio**

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# fit-android
2+
3+
An android application created for /r/bodyweightfitness subreddit. Simple interface for accessing multiple exercise videos and up-to-date beginner routine with a handy timer helpful to finish the exercise.
4+

app/build.gradle

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
buildscript {
2+
repositories {
3+
maven { url 'https://maven.fabric.io/public' }
4+
}
5+
6+
dependencies {
7+
classpath 'io.fabric.tools:gradle:1.+'
8+
}
9+
}
10+
apply plugin: 'com.android.application'
11+
apply plugin: 'io.fabric'
12+
13+
repositories {
14+
maven { url 'https://maven.fabric.io/public' }
15+
}
16+
17+
apply plugin: 'me.tatarka.retrolambda'
18+
19+
android {
20+
compileSdkVersion 22
21+
buildToolsVersion "22.0.1"
22+
23+
defaultConfig {
24+
applicationId 'io.mazur.fit'
25+
minSdkVersion 14
26+
targetSdkVersion 22
27+
}
28+
29+
compileOptions {
30+
sourceCompatibility JavaVersion.VERSION_1_8
31+
targetCompatibility JavaVersion.VERSION_1_8
32+
}
33+
34+
packagingOptions {
35+
exclude 'META-INF/DEPENDENCIES.txt'
36+
exclude 'META-INF/LICENSE.txt'
37+
exclude 'META-INF/NOTICE.txt'
38+
exclude 'META-INF/NOTICE'
39+
exclude 'META-INF/LICENSE'
40+
exclude 'META-INF/DEPENDENCIES'
41+
exclude 'META-INF/notice.txt'
42+
exclude 'META-INF/license.txt'
43+
exclude 'META-INF/dependencies.txt'
44+
exclude 'META-INF/LGPL2.1'
45+
}
46+
47+
productFlavors {
48+
pro {
49+
applicationId 'io.mazur.fit.pro'
50+
versionCode 100
51+
versionName "1.0.0"
52+
}
53+
54+
free {
55+
applicationId 'io.mazur.fit.free'
56+
versionCode 100
57+
versionName "1.0.0"
58+
}
59+
}
60+
}
61+
62+
dependencies {
63+
compile fileTree(dir: 'libs', include: ['*.jar'])
64+
65+
compile 'com.android.support:support-v4:22.2.0'
66+
compile 'com.android.support:appcompat-v7:22.2.0'
67+
compile 'com.android.support:recyclerview-v7:22.0.0'
68+
compile 'com.android.support:design:22.2.0'
69+
70+
compile 'com.google.code.gson:gson:2.3.1'
71+
72+
compile 'net.danlew:android.joda:2.7.1'
73+
74+
compile 'com.github.mazurio:glacier:0.0.2'
75+
compile 'com.jakewharton:butterknife:6.1.0'
76+
77+
compile 'com.netflix.rxjava:rxjava-core:0.20.7'
78+
compile 'com.netflix.rxjava:rxjava-android:0.20.7'
79+
80+
compile 'frankiesardo:icepick:3.0.2'
81+
provided 'frankiesardo:icepick-processor:3.0.2'
82+
83+
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
84+
compile 'com.github.johnkil.android-robototextview:robototextview:2.3.0'
85+
86+
compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') {
87+
transitive = true;
88+
}
89+
}

app/proguard-rules.pro

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Add project specific ProGuard rules here.
2+
# By default, the flags in this file are appended to flags specified
3+
# in /Users/Mazur/Library/Android/sdk/tools/proguard/proguard-android.txt
4+
# You can edit the include path and order by changing the proguardFiles
5+
# directive in build.gradle.
6+
#
7+
# For more details, see
8+
# http://developer.android.com/guide/developing/tools/proguard.html
9+
10+
# Add any project specific keep options here:
11+
12+
# If your project uses WebView with JS, uncomment the following
13+
# and specify the fully qualified class name to the JavaScript interface
14+
# class:
15+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16+
# public *;
17+
#}

app/src/main/AndroidManifest.xml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.mazur.fit">
3+
<uses-permission android:name="android.permission.INTERNET" />
4+
5+
<application
6+
android:allowBackup="true"
7+
android:icon="@mipmap/ic_launcher"
8+
android:label="@string/app_name"
9+
android:theme="@style/AppTheme"
10+
android:name=".App">
11+
12+
<activity
13+
android:name=".ui.MainActivity"
14+
android:label="@string/app_name">
15+
16+
<intent-filter>
17+
<action android:name="android.intent.action.MAIN" />
18+
19+
<category android:name="android.intent.category.LAUNCHER" />
20+
</intent-filter>
21+
</activity>
22+
23+
<activity
24+
android:name=".ui.AboutActivity"
25+
android:parentActivityName=".ui.MainActivity"
26+
android:theme="@style/AppTheme.Activity">
27+
28+
<meta-data
29+
android:name="android.support.PARENT_ACTIVITY"
30+
android:value=".ui.MainActivity" />
31+
</activity>
32+
33+
<activity
34+
android:name=".ui.SettingsActivity"
35+
android:parentActivityName=".ui.MainActivity"
36+
android:theme="@style/AppTheme.Activity">
37+
38+
<meta-data
39+
android:name="android.support.PARENT_ACTIVITY"
40+
android:value=".ui.MainActivity" />
41+
</activity>
42+
43+
<meta-data
44+
android:name="io.fabric.ApiKey"
45+
android:value="replaceit" />
46+
</application>
47+
</manifest>
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.mazur.fit;
2+
3+
import android.app.Application;
4+
import android.content.Context;
5+
import com.crashlytics.android.Crashlytics;
6+
import io.fabric.sdk.android.Fabric;
7+
8+
public class App extends Application {
9+
private static Context mContext;
10+
11+
@Override
12+
public void onCreate() {
13+
super.onCreate();
14+
15+
Fabric.with(this, new Crashlytics());
16+
17+
mContext = getApplicationContext();
18+
}
19+
20+
public static Context getContext() {
21+
return mContext;
22+
}
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package io.mazur.fit;
2+
3+
public class Constants {
4+
public static final String PREFERENCE_TIMER_KEY = "PREFERENCE_TIMER_KEY";
5+
}

0 commit comments

Comments
 (0)