Forage

A geocaching Android app using MVP architecture and modern libraries

Forage LICENSE API CircleCI

<img src="app/src/main/res/mipmap-xxxhdpi/icon_large.png" align="left" width="200">

Forage is an open source Material Design geocaching Android app using MVP architecture and modern libraries. Forage integrates with the OpenCaching API.

This project is currently under heavy development!

This is my first Android project in order to learn the Android SDK and relevant Android libraries. Please critique my code! If you are just starting with Android check out this wiki page for a comphrensive list of learning resources that I used.

Screenshots

Libraries

Testing Libraries

Requirements

To compile and run the project you'll need:

  • Android SDK
  • Android N (API 24)
  • Android SDK Tools
  • Android SDK Build Tools 23.0.3
  • Android Support Repository
  • Android Support Libraries
  • JDK 1.8
  • Valid API keys

API keys are not stored in the repo! Thus, you will need the following API keys:

  1. OkApi (US) key
  2. Google Maps Android API key

Add the following to your global gradle.properties file. On OSX this file is stored at ~/.gradle/gradle.properties.

OKAPI_US_CONSUMER_KEY=PUT OKAPI CONSUMER KEY HERE
OKAPI_US_CONSUMER_SECRET=PUT OKAPI CONSUMER SECRET HERE
GOOGLE_MAPS_API_KEY=PUT GOOGLE MAPS KEY HERE

Release Builds

A release build needs to be signed with an Android Keystore. The easiest way to generate one is to open Android Studio and go to Build -> Generate Signed Apk -> Create New... After that you need to create a signing.properties file in the root directory and add the following info to it:

STORE_FILE=/path/to/your.keystore
STORE_PASSWORD=yourkeystorepass
KEY_ALIAS=projectkeyalias
KEY_PASSWORD=keyaliaspassword

Running gradle assembleRelease will then build and sign a release version of the app.

Contributions

  • naalty: Design of the Forage app icon

License

This Source Code is subject to the terms of the Mozilla Public License, v. 2.0. 
If a copy of the MPL was not distributed with this file, You can obtain one at 
http://mozilla.org/MPL/2.0/.

Related Repositories

storage

storage

Asynchronous browser storage with multiple back-ends (IndexedDB, WebSQL, localSt ...

angular-localForage

angular-localForage

Angular service & directive for https://github.com/mozilla/localForage (Offline ...

HipsterIpsum

HipsterIpsum

Artisanal, free-range Ipsum text for ST2 and ST3. ...

AndroidResources

AndroidResources

A collection of Android blogs, libraries, tutorials I found useful ...

rfishbase

rfishbase

R interface to the fishbase.org database ...


Top Contributors

Plastix