Git Product home page Git Product logo

mana_fitness's Introduction

Mana

This app allows you to play your favourite arcade games (space invaders, pacman, ...) while you are exercising. The finished app will allow the user to do several exercises including, but not limited to push-ups and squats.

Demo Video

IMAGE ALT TEST

Current status

This repository is stale. I am currently reimplementing this project natively due to performance issues. Also I am working on a custom face detection using various MobileNet Architectures.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

mana_fitness's People

Watchers

 avatar

mana_fitness's Issues

Add Dino Game

TODO's

  • Add Dino game
  • Adapt Controller to game
  • Make Controller independent of the game
  • add testing "game" for face recognition

WHY

  • Dino game is easier to play than pong game and thus better to demonstrate the app

Add Sensors to prevent cheating

TODO's

  • Add Sensor module and access sensor values
  • Read out Motion sensor and prevent phone from moving while game is being played
  • Read out Orientation sensor and prevent phone from being moved instead fo the users body
  • Stop game and display message to the user that he should stop cheating ("put your phone down", etc)
  • Modularize this as a module and make it possible to select which cheating filters should be active.

User Stories

  • As a user I want the other users I am competing with to actually play the games.
  • As a user I want the leaderboard to accurately display who is exercising how much.
  • As a developer I want to be able to apply certain cheating filters to certain types of exercises. (Don't move your phone makes no sense for squat exercise)

Add Multiplayer to pong game

TODO's

  • Implement backend to store two values.
  • Assign players id (hardcoded for now)
  • Get both values from server and inject into javascript
  • Update Pong Game for multiplayer

User Stories

  • As a User I want to compete with my friends.

Custom Eye Detection

TODO's

  • get basic eye detection running
  • version model training in GitHub repo
  • switch implementation of mana to use TFLite custom model

First User Accounts

TODO's

  • Refactor app (Make game controller it's own component)
  • Sign up/Sign in Screen
  • Auth
  • Simple Game selection Screen
  • Refactor backend/multiplayer to allow more than two players to play the game

User Stories

  • As a user I want to properly test out the app on my own phone.
  • As a developer I want user feedback to improve the app/fix bugs/create an amazing UX

add pong game to app

TODO's

  • Add pong game to assets folder
  • Link controller to webview
  • Update Javascript for pong game
  • Clean up
  • Test

User Stories

  • As a User I want to play fucking pong.

Custom ML on device

TODO's

  • Move Machine learning to device
  • Test Performance

Reasons

  • Face detection laggy because too slow

Add levels to dino game

TODO's

  • Add first Level to Dino game
  • Make dino Game take array as input to create map based on it
  • Add infinity mode

WHY

  • If the user completes a level it gives him satisfaction
  • Will later be used for HIIT training

Add connected WebView to display games

TODO's

  • Add webview
  • Pass controller value on to webview
  • Create Test Website to display updated value (also for future controllers)
  • Clean up
  • Test and review

User Stories

  • As a user I want to download and delete games without having to update the app in the appstore everytime.
  • As a user I want a big selection of games I can play without them taking up too much space on my phone

Split Camera into Detection and ImageStream

TODO's

  • Seperate Camera and Firebase Vision
  • Flip Webview
  • Refactor and clean up
  • Modularize

Why

  • When we move to a custom model, changing it will be easier
  • Currently flipped screen makes it hard to exit app

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.