Thomas Mckeown Portfolio

Thomas Mckeown - Final Year Portfolio

About Me

Name: Thomas Mckeown

Course: Level 8 BSc(Hons) in Computing

Individual JournalJournal

Email: D00211501@student.dkit.ie

GitHub: Github

LinkedIn: LinkedIn

 

My Roles:

App Developer - Voice Recording, Timers, Authentication

Scrum Master - Releases, Sprints

Backend Developer - API Calls, Authentication, validation

Welcome

profile.jpg.1

Project Details

Project Name: TacTalk

Project Details: TacTalk is a voice recognition app used for tactical analysis of a Gaelic football match. 

For this project we are building an app to be used by an analyst during a Gaelic football match.  The analyst will use the app by saying key words/ phrases which will be picked up by the app. An example of this is "shot point 14" which tells the server that a shot has just happened that resulted in a point and this was done by player number 14. Key words/ phrases like these have been chosen as they are similar to the vocabulary analysts currently use.

The app will be recording the analyst. Once this recording reaches 15 seconds it will be sent to Google’s Cloud. From there the audio file will be converted into text and then sent to our database.

The text will then be converted into a JSON file so the database can recognise the details and store them. The details in the database can then be accessed by the analyst and coach on the app during the match or at half/full time as well as after the match.

Team: Rojak

Team Members: Thomas Mckeown, Timothy Nguoi, Francis Quinn, Josh Nevin, Shikui Wang

Software:

MongoDB - Database Used

Android Studio + Kotlin - Used To Create The App

NetBeans + Node.js - Used To Create The Server

Google Cloud - Used For Voice Recognition 

Visual Studio Code + Python - Used For Audio Cutting and Overlapping 

 

Architecture Overview

  1. The user will talk into the app while on the recording page. While they are doing this recordings of them talking are being sent to firebase every 15 seconds.

  2. These recordings are then being converted from audio to text by the google clouds audio converter.

  3. After the audio has been converted it is then sent to our node server where it is converted to a game event.

  4. The game event details are then stored in our mongo database

  5. The details stored in mongoDB can then be retrieved by the app to display the score on the recording page or to view more detailed statistics on the statistics pages.

  6. To get these details a call is made from the app to our node server which then contacts mongoDB, gets the details and then sends them to the app where they are displayed. 

                  overview.png

 App 

Below are images of the app. The first image is the main menu the user will see when they log in. From here they can manage a team. This will allow them to create a team, update team details and look at the teams they currently work with. From the main menu page they can also set up a match. This requires the user to enter both teams names and jersey colours for the recording as well as the location, date time of the match.

After this the user can press the start match button taking them to the second image show here, the match recording page. This page contain details about the current match, the time it has been going on for, the half you are currently recording for, as well as the score both teams are currently on.  Below these is a bar that will move as the analyst talks, letting them know the app can hear them and is picking up what they are saying. The user can also pause the recording and move onto the statistics screen for the first half or full time, depending on which half they are recording for. 

appDesigns3-1.png.2appDesings3-2.png

 

When the user goes to the statistics pages they will be able to see three different pages, the statistics collected for possessions, kick outs, and positions. 

The possession page displays data about the amount of shots taken and if those shots resulted in a goal or point. Details about possession pass completion and how many shots resulted in a score are also collected and displayed on this page.

The user can move to the kick outs page. This page collects details on the amount of kick outs, how many turnovers occurred and which half thy took place in. This page also displays the kick outs won details. 

The final statistics page is about the position statistics. It shows the details of where most kick outs land and most shots are taken by both teams.

appDesings3-3.pngappDesings3-5.png.1appDesings3-4.png.1