Git Product home page Git Product logo

fitrpg-server's Introduction

Get it on Google Play

FitRPG is a mobile app created by Amira Anuar, Matt Gutierrez, and Conor Fennell at Hack Reactor. FitRPG transforms a Fitbit user's data into a character that can fight friends, battle bosses, and go on quests using the steps, distance, and sleep tracked by the Fitbit. The game logic seeks to motivate users to stay fit and challenge themselves to go that extra mile in order to win a battle or complete a quest.

Tech Stack

* [Ionic Framework](http://ionicframework.com/) * [AngularJS](https://angularjs.org/) * [Node.js](http://nodejs.org/) * [Express.js](http://expressjs.com/) * [MongoDB](http://www.mongodb.org/)

Code Base

* [Client side](https://github.com/fitrpg/fitrpg-ionic) * [Server side](https://github.com/fitrpg/fitrpg-server)

Challenges:

  • User flow during fitbit OAuth
    • Originally we wanted to do the OAuth login client side on the app. But due to fitbit using OAuth 1.0 and not allowing CORS or JSONP, it had to be done server side. This was a challenge since the server redirects your app during the OAuth process and takes you out of the app context. We had to find a way to keep this redirect within the app and inform the app if the authentication was successful. See our blog post that walks through how we did this server side, here: Mobile Authentication in Ionic with OAuth Through External APIs: Fitbit Pt 1, Server
  • Game logic design
    • Balancing how sleep, steps and other activities relate to the characters attributes and making sure one is not more effective than other attributes.
  • User interface design
    • A game can have a lot of different options and views, reducing and compressing these views and making them innutaive is a challenge.
  • Security
    • Implemnting json web tokens
    • OAuth

fitrpg-server's People

Contributors

aellawind avatar ajoslin avatar conorfennell avatar ctran avatar dazmiller avatar fatchicken007 avatar hackreactor-students avatar ionitron avatar mlynch avatar oerd avatar somethingnew2-0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.