Skip to content
Kotlin Java Other
Branch: master
Clone or download
r0adkll [WIP] Improved offline cache support (#117)
* Added a permanent disk cache for Glide so that images don't disappear
* workflow tweaks
* Started working on cache management UI
* Testing deploy script by using master branch of my signing action
* Fixing deploy workflow
* More tweaks to cache management UI
* Added caching signature key to all relevant glide calls
* Workflow test
* Fixed ktlint issue
* Updated cache service to show manage action on finished Notification.
Updated deploy script to now build and test .aab signing
* Updated cache service to a 'Service' instead of 'IntentService'
Caching service notification now collects and displays counts
* Added icons to settings screen
* Switched caching mechanism to manual multi-threaded solution where we just cache the image directly to file based on it's URI path. We then complement this with a Glide extension function to load a card by it's image type checking our offline cache for the existing file and loading it with a NONE disk cache policy with glide
* Added an expansions logo and symbol to the caching list so those images
are available offline.
* Added impl that deletes the Glide cache of an image when downloading for
offline usage to keep disk usage to a minimum.
* Bumped pokemontcg.io sdk => 1.1.0, updated dependencies and better json parsing
* Added Glide proguard rules
* Close #114 - Finished cache management interface
* Close #113 - Finished cache loading management with Glide
* Updated CHANGELOG.md and whatsnew
* Fixed ktlint & detekt issues
* Fixed refactoring regressions
Latest commit 80df51a Nov 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github [WIP] Improved offline cache support (#117) Nov 16, 2019
app
art Updated README.md Sep 30, 2019
distribution [WIP] Improved offline cache support (#117) Nov 16, 2019
gradle/wrapper [WIP] Improved offline cache support (#117) Nov 16, 2019
tools More detekt and ktlint fixes Nov 2, 2019
.editorconfig Added ktlint, detekt, gitVersioner plugin Oct 31, 2019
.gitignore Moved scripts to their own folder Oct 12, 2018
CHANGELOG.md [WIP] Improved offline cache support (#117) Nov 16, 2019
CODE_OF_CONDUCT.md Style/Bug fixes Apr 24, 2018
CONTRIBUTING.md Mass replace of double newlines to single newlines Oct 31, 2019
Dangerfile Removed 52inc/danger dependency Nov 7, 2019
Gemfile Removed 52inc/danger dependency Nov 7, 2019
LICENSE Add LICENSE Apr 24, 2018
README.md Working on detekt issues Nov 1, 2019
build.gradle [WIP] Improved offline cache support (#117) Nov 16, 2019
default-detekt-config.yml More detekt and ktlint fixes Nov 2, 2019
detekt.gradle
gradle.properties Full ktlint compliance Nov 1, 2019
gradlew Initial Commit Oct 12, 2017
gradlew.bat Initial Commit Oct 12, 2017
settings.gradle

README.md

Build Status   ktlint

DeckBox is an unofficial deck building app for creating and managing your Pokémon TCG decklists. Whether you are building and tweaking the top decks in the meta or just experimenting with some spicy rogue decks, search through a large collection of Pokémon cards that span from the latest expansion all the way back to the base set

Seamlessly integrate with your Pokémon TCG Online game by importing and exporting decklists in a compatible format.

Sign in with our Google account to build and edit your decks across all of your devices, or just continue without one and link it later.

Roadmap

View the progress of upcoming and currently worked on features for this project.

API

pokemontcg-developers on discord
DeckBox is powered by pokemontcg.io

API: PokemonTCG/pokemon-tcg-api
SDK: PokemonTCG/pokemon-tcg-sdk-kotlin

To add/update card data to the API you must fork and make a pull request to this repository: PokemonTCG/pokemon-tcg-data

Architecture

DeckBox is 100% written in Kotlin and follows an MVI pattern for managing the UI and a repository pattern for managing the data/business layer. It is built on this stack:

  • Dagger 2
  • RxJava 2
  • Firebase Firestore

Design

Check out the designs using Sketch

Sketch Cloud
https://sketch.cloud/s/vgnyn

Build-it Yourself

To build/run DeckBox your self you will need to configure and setup the following items:

Firebase

Configure an Android application on your firebase project and download the google-services.json file into the /app folder.

Then run:

./gradlew installDebug

Contributing

Please follow the guidelines set forth in the CONTRIBUTING document.

Buy Me a Coffee at ko-fi.com

License

GNU General Public License v3.0

See LICENSE to see the full text.�

You can’t perform that action at this time.