Skip to content

An exercise application built for Android using ionic, angularJS and Amazon Web Services. Main function of the app is to detect punches and store them in a cloud database.

License

Notifications You must be signed in to change notification settings

Uzzy97/ASU-Boxing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Applied Project And Minor Dissertation

Project Details

Details
Course BSc (Hons) in Software Development
Module Applied Project and Minor Dissertation
Institute Galway-Mayo Institute of Technology
Students Arkadiusz Mamala, Sammar Tahir & Usman Sattar
Project Supervisors Gerard Harrison, Kevin OBrien & Martin Kenirons
Module Supervisor Dr. John Healy
Project Title ASU Boxing

Dissertation

A PDF format of our Dissertation for this project is available below. This piece of document contains an in-depth view of all facets of research production, from concept to implementation and final assessment.
Link: https://github.com/ArekMamala/FinalYearProject/blob/master/Dissertation.pdf

Video Demonstrations

The video demonstrations show how each of us have contributed our parts in the development of this project. We give a run through of the coding, front-end and back-end aspect of the application.
Link: https://github.com/ArekMamala/FinalYearProject/blob/master/ProjectVideos/ProjectVideo.mp4


ASU Boxing

Overview

This repository contains the code and documentation developed in Galway Mayo Institute of Technology for our fourth year module, Applied Project and Minor Dissertation. ASU Boxing is an application designed specifically aimed for boxers but anyone who wish to begin boxing as a career or exercise are welcome to try it out. This application is developed using the ionic/angular framework and contains a backend server written in SQL, hosted by Amazon Web Services. This application has given each user the ability to create their own account, which is enabled with the implementation of firebase.

Main Features

  • Ability to detect and count various different punches in the space of time decided by the user
  • Displaying the session evalution report at the end of each workout session.
  • Users can schedule events in their calender through the application and load in their events.

Reason for Choosing Project

The reasons that we decided to develop this application is because we find this idea very interesting. Sports is a topic that we are all involved in inside of college and out. We came up with this idea when we were at a boxing class when we couldn't decide who had more power. It’s a project that we feel will challenge us in developing it and get it working the way we have designed it.

Fundamental Task

The application on the phone is going to work with user control. The application is going to count punches, update datasheet, calculate the BPM of user while punching. This app is going to be an alternative to the research of the wearable device. User will have three options within the application.

  1. Calculate the number of punches against time.
  2. Calculate the number of punches and beats per minute against time.
  3. Open data log sheet to view their history. To view their progression.

Implementations of Technologies

Ionic

Ionic Logo

Ionic is built to perform and run fast on the all of the latest mobile devices. Build out-of-the-box blazing fast apps with a small footprint and built-in best practices like hardware accelerated transitions, touch-optimized gestures, pre-rendering, and AOT compiling. Ionic’s components are written in HTML, CSS, and JavaScript, making it easily build beautiful, high quality UI’s that perform great everywhere.

Angular

Angular Logo

Angular is a web application framework it’s typescript based developed by an Angular team at Google. It has been completely rewritten from the same team that built AngularJS. Some languages such as JavaScript, HTML and CSS are used in the framework.The development environment must include both Node JS and npm package manager. The latest Node JS version is 14.0.0 and the recommended version is 12.16.2. To determine the version of Node JS installed on your devices we simply type in node -v in the terminal. The npm package manager is required for the downloading and installing of the npm packages. To investigate if you have package manager installed you simply run the npm -v command in the terminal.

Firebase

Firebase Logo

This cloud application is designed by Google to help build. Firebase is a tool-set to “build,improve, and grow your app”, and the tools it gives you cover a large portion of the services that developers would normally have to build themselves, but don’t really want to build, because they’d rather be focusing on the app experience itself. This includes things like analytics, authentication, databases, configuration, file storage, push messaging, and the list goes on. The services are hosted in the cloud, and scale with little to no effort on the part of the developer.

Cordova

Cordova Logo

Apache Cordova is an open source framework that allows web developers to use their HTML, CSS, and JavaScript to develop a native application for mobile platforms such as iOS and Android.

Amazon Web Services

AWS Amazon Web Services is a subsidiary of Amazon that provides on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis. Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow. Amazon is managed databases like MySQL, PostgreSQL, Oracle or SQL Server to store information.

MySQL

MySQL Logo

MySQL is a relational database management system based on SQL – Structured Query Language. The application is used for a wide range of purposes, including data warehousing, e-commerce, and logging applications. There are many versions of MySQL, we chose to use version 5.7.24.

Tensorflow

Tensorflow Logo Using Tensorflow with python to do this project. Tensorflow is a symbolic math library which can be used for machine learning. Keras is used to make the neural network. Numpy and pyplot is used to plot the data. This software allows developers to create a large-scale neural networks with many layers. This is used with python and has many uses in predictions and classification.

Install Guide

To run this app you'll need to download and install Cordova, Angular and Ionic using the following links:

Once this all done you need to get the actual project files. This can be done easily if you open the termial and enter the following command:
git clone https://github.com/ArekMamala/FinalYearProject

When the project is set up correctly plugins and platform’s in the application will have to be added into the project and installed using the commands stated below.

Server/MYSQL

npm install mysql

npm install cors

Enable Cordova

ionic integrations enable cordova --add

Enable Cordova

npm install firebase --save

npm install -g firebase-toolsso

Glocation add and intall

ionic cordova plugin add cordova-plugin-geolocation

npm install @ionic-native/geolocation

Enable angular with firebase

npm install firebase @angular/fire --save

Gyroscope add and install

ionic cordova plugin add cordova-plugin-gyroscope

npm install @ionic-native/gyroscope

capacitor

npm install --save @capacitor/core @capacitor/cli

Vibration

ionic cordova plugin add cordova-plugin-vibration

npm install @ionic-native/vibration

Calendar

ionic cordova plugin add cordova-plugin-calendar

npm install @ionic-native/calendar

Running application

Android
When running on android the device used for testing must be connected to the computer and that device must be selected when running the below command:
ionic cordova run android

Browser
When running on browser a link to test the application will be displayed after the following command is entered:
ionic cordova run browser

Authors:
Sammar Tahir
Usman Sattar
Arkadiusz Mamala

About

An exercise application built for Android using ionic, angularJS and Amazon Web Services. Main function of the app is to detect punches and store them in a cloud database.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.9%
  • Java 3.6%
  • TeX 0.7%
  • TypeScript 0.5%
  • HTML 0.2%
  • CSS 0.1%