Dogecache is an innovative app built upon the principles of geocaching: an outdoor recreational activity where participants use GPS and other navigational techniques to find containers containing small prizes left by other adventurers. There is only one rule: you must leave something of equal or greater value to what you take.
Dogecache puts an exciting spin on this recreational activity by embracing dogecoin, a cryptocurrency. Rather than hunt for physical caches, the user hunts for virtual dogecaches that other explorers have left behind. The app is entirely location dependent, as you find dogecoins near you by dropping some in your current location. That is, the more dogecoins you drop, the larger your search radius is and the more likely you are to find other deposits. The tradeoff lies in the fact that you can only pick up other users’ dogecoins, and dogecoins you drop can only be picked up by other people. This helps encourage people to share their wealth.
Since this is designed to be an app used on the go, it was designed with a mobile-first mentality. After authenticating one-click through Facebook, the user is taken to the main interface, which consists of a map and a slider. Moving the slider alters the amount of doge you are willing to drop, which in turn visually alters a circular overlay on the map indicating the search radius.
On the backend, we use a Node.js + Express based server running on a MongoDB database to host the Dogecache services. We make use of MongoDB's geospatial search APIs to locate the nearest "caches" to the user's location, as determined via the HTML5 Geolocation API.
Additionally, the user may view aggregate statistics and recent searches on an integrated statistics page. An easy to use settings page provides the user with a QR code for dogecoin deposits into the app, and webcam functionality allows the user to scan a QR code for simplified withdrawals. Dogecoin functionality is powered via DogeAPI.
Github URL: https://github.com/Dogecache/Dogecache