Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polaromatic PR for the contest #3

Open
wants to merge 65 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
590e31d
Update Readme
ilopmar Jan 6, 2015
0f5b826
Initial commit :baby:
ilopmar Dec 30, 2014
94f9890
Spring Boot application skeleton
ilopmar Dec 30, 2014
38bace2
Add photo conversion Spring Integration flow
ilopmar Dec 30, 2014
b520819
Generate Photo object with the input and output files
ilopmar Dec 30, 2014
e76154c
Apply polaroid effect to photos
ilopmar Dec 31, 2014
013db64
Add websocket support and push photo to browser
ilopmar Dec 31, 2014
dda6c83
Receive polaroid photos using websockets
ilopmar Dec 31, 2014
eabcf53
Delete temporal pictures
ilopmar Dec 31, 2014
7e8e359
Change Spring Boot application logo
ilopmar Jan 1, 2015
e350240
Grooid application skeleton
ilopmar Jan 1, 2015
ef08623
Remove splash screen
ilopmar Jan 1, 2015
95df456
Change Grooid application logo
ilopmar Jan 1, 2015
7525685
Add usage information to main activity
ilopmar Jan 1, 2015
c6074fe
Add settings activity and save backend url
ilopmar Jan 1, 2015
9d04bbf
Refactor some default common values for layouts
ilopmar Jan 1, 2015
84e7ad0
Change url in about page
ilopmar Jan 2, 2015
c6c89f8
Change theme to a Dark one
ilopmar Jan 2, 2015
e97c9f0
Add share activity that receives the shared images
ilopmar Jan 2, 2015
dd5a63b
Display the image in the share activity :smiley:
ilopmar Jan 2, 2015
fd55965
Exclude retrofit class from proguard
ilopmar Jan 3, 2015
f209115
Extract Toast utility to a trait
ilopmar Jan 3, 2015
52ba1e6
Post the picture to the backend (SpringBoot app)
ilopmar Jan 3, 2015
a4b27a9
Add GreenRobot EventBus library
ilopmar Jan 3, 2015
9e2fe6c
Handle retrofit errors and display a message when sharing
ilopmar Jan 3, 2015
7135f57
Endpoint to receive a POST with a photo an process with the SI flow
ilopmar Jan 3, 2015
53afb01
Add @CompileStatic to services
ilopmar Jan 3, 2015
e4fefef
Workaround for request param encoding issue
ilopmar Jan 3, 2015
f4d5276
Configure log
ilopmar Jan 3, 2015
2a21f76
Add SpringBoot CLI app to download pictures from Flickr
ilopmar Jan 4, 2015
3d5d178
Ignore log directory
ilopmar Jan 4, 2015
6ae9af9
Add Spock tests for Polaromatic back. Better late than never... :fire…
ilopmar Jan 4, 2015
94119b3
Upgrade android build version and gradle plugin
ilopmar Jan 4, 2015
e9bcf39
Upgrade to Groovy 2.4-rc-1
ilopmar Jan 4, 2015
2ff238b
Fix some android layouts and configurations
ilopmar Jan 4, 2015
c6f354a
Refactor Toastable
ilopmar Jan 4, 2015
7520871
Show a waiting spinner while uploading the photo :rage4:
ilopmar Jan 4, 2015
28e4498
Remove :shit:. It's not necessary to create temporal directory for ou…
ilopmar Jan 5, 2015
88711af
Use backend default url when url is not defined
ilopmar Jan 5, 2015
a2ec4ee
Remove main activity. Now the app can only be used when sharing an image
ilopmar Jan 5, 2015
967b031
Move contextual menu (settings & about) from main activity to share
ilopmar Jan 5, 2015
6d63388
Add 'Fork me on Github' ribbon
ilopmar Jan 6, 2015
4837de8
Add favicon
ilopmar Jan 7, 2015
694bedf
First version of the documentation
ilopmar Jan 6, 2015
1b28a1f
Add backend documentation
ilopmar Jan 7, 2015
5848aec
Add android documentation
ilopmar Jan 7, 2015
52940e0
Add technological stack documentation
ilopmar Jan 7, 2015
d431118
Add title to the images
ilopmar Jan 8, 2015
b736035
Fix documentation typos
ilopmar Jan 8, 2015
cf171f5
Implement retrofit error handler with a closure
ilopmar Jan 8, 2015
4217d82
Add live-demo documentation
ilopmar Jan 8, 2015
5303cd9
Add installation documentation
ilopmar Jan 9, 2015
7dde4e2
Convert project to a gradle multi-project
ilopmar Jan 9, 2015
2686a2a
Add spring-boot-starter-actuator
ilopmar Jan 9, 2015
8358dce
Add custom metrics counters for Flickr and Android photos
ilopmar Jan 9, 2015
61db111
Add demo environment metrics url to documentation
ilopmar Jan 9, 2015
55181c6
Add Grooscript to convert Groovy to Javascript
ilopmar Jan 9, 2015
9fd2e3e
Add documentation for Grooscript conversion
ilopmar Jan 10, 2015
27d0469
Update Readme
ilopmar Jan 10, 2015
6aac5f3
Fix grooscript files path
ilopmar Jan 11, 2015
3b223ea
Generate grooscript js before build the polaromatic-back
ilopmar Jan 11, 2015
8624864
Upgrade to Groovy 2.4.0-rc-2
ilopmar Jan 12, 2015
fabc7b3
Update to Spring Boot 1.2.1
ilopmar Jan 13, 2015
a804fa9
Add Polaromatic logo and schema svg files
ilopmar Jan 12, 2015
043df7c
Update documentation url after changing github username
ilopmar Oct 18, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
build/
*.iml
*.ipr
*.ips
.gradle/
.idea/
work
.lazybones/
local.properties
log/
37 changes: 3 additions & 34 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,36 +1,5 @@
== _Learning Spring Boot_ Contest
== Polaromatic

This is a contest based on _Learning Spring Boot_. The idea is to submit a small, pithy, cool Spring Boot application to win a prize. We will soon announce the prizes.
Please read the documentation here: http://ilopmar.github.io/contest/

=== Calling all Spring Boot apps

Years ago, the http://www.ioccc.org/years.html[The International Obfuscated C Code Contest] was invented. Seeing http://blog.aerojockey.com/post/iocccsim[Carl Banks' flight simulator] forever impressed me as a neat, pithy little app.

Well, we aren't looking for obfuscated, complex, impossible to read apps. But we *ARE* looking for slick, cool apps that show off the power/coolness/wicked abilities of Spring Boot mixed with your hackable creativity. Characteristics the judges evaluate include:

* Stylish
* Short and sweet
* Custom auto-configurations are welcome
* Custom health indicators, metrics, and fancy usage thereof
* Nice on the server side OR cool frontends (You don't have to build a web frontend to have a slick, elegeant, and original UI.)
* Popularity. Tweet things up while you work on your submission. We will definitely look at stars on your forked repo of this contest, volume of traffic your generate, and other evidence of popularity.

=== How/when to submit

IMPORANT: Deadline is 11:59pm January 17th CST (UTC-6). (I hate midnight deadlines, since they're so ambiguous.)

To submit an entery:

. Fork this repo.
. Code your solution inside your fork.
. Tweet/blog/reddit/facebook your efforts and gather evidence of your apps popularity (stars on your repo, total hits on your blog entry, total number of registered userse for your slick app, etc.)
. Replace this README.adoc with your own documentation (cuteness rewarded!).
. Submit a pull request (before the deadline!!!)
. Wait to see the announcement.
. Collect your prize!

Those of you that can't wait, use the holiday time as you wish. Those of you that are enjoying time with family and friends, we included enough time so you can still get into the contest.

NOTE: No member of Pivotal Inc. is permitted to enter this contest. Only one submission per person or team. If there is evidence of multiple "sock puppet" entries coming from the same group of people, the judges reserve the right to disqualify anyone involved. All decisions are final.

Good luck!
If you like the application please star this Github repository. You can also write some tweets with the *#Polaromatic* hashtag.
16 changes: 16 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
subprojects {
buildscript {
repositories {
jcenter()

}
}

repositories {
jcenter()
}
}

task wrapper(type: Wrapper) {
gradleVersion = '2.2.1'
}
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
6 changes: 6 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Fri Jan 09 00:23:39 CET 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-bin.zip
164 changes: 164 additions & 0 deletions gradlew
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
#!/usr/bin/env bash

##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn ( ) {
echo "$*"
}

die ( ) {
echo
echo "$*"
echo
exit 1
}

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac

# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`

# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option

if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi

# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"

exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
90 changes: 90 additions & 0 deletions gradlew.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto init

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:init
@rem Get command-line arguments, handling Windowz variants

if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args

:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2

:win9xME_args_slurp
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*
goto execute

:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega
65 changes: 65 additions & 0 deletions logos/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading