Table Tennis Coaching Platform

Home

Welcome to the Table Tennis Coaching Platform! Connect with coaches and enhance your skills today.

About the Project

The idea came from the desire to combine computer science and table tennis, two passions that have profoundly shaped my journey. Both fields had a great impact on my life during my time at Texas Wesleyan University, where I not only honed my technical skills but also grew as a table tennis enthusiast, learning the values of discipline, strategy, and perseverance. This unique combination reflects my ambition to merge technology with sports to create innovative solutions that enhance the experiences of athletes and enthusiasts alike. Furthermore, the growing need for table tennis players in Texas to find and connect with professional coaches easily inspired this initiative. This platform bridges that gap, creating a space where technology and sports come together to enhance accessibility and foster growth in the table tennis community.

Technologies Used

Frontend: HTML & CSS

Backend: Python & Django

Database: MySQL & PostgreSQL

--Tables: CustomUser, PlayerProfile, CoachProfile, Video, VideoReview, VirtualCoaching, Payment.
EER Diagram

How To Use

Here’s how you can get started:

Home Page

Step 1: Register and create your profile. At this step, the user can either select "player" or "coach" role.

Step 2

Step 2: Once the user has created an account, it will need to login using its credentials. Depending on the role, the user will be redirected to its repective page.

Step 3

Step 3: If the user is a "player," they will see an interface showing the coaches available in the platform. Also, the user will be able to search coaches using the "Search" bar. If the user find the coach they want to connect, they can send an email or request a video call. Furthermore, players can press any of the buttons on the navigation bar.

Player Page

Players can press the "Player Profile" button from the home page, which will redirect the user to the player profile page. On this page, the user will see different buttons, which will be explained in the next pictures below.

Player Profile Page

If the player decided to press the button "Player Profile Form," they will be brought to the player's form page. This page will essentially create the flashcards on the home page.

Player Form Page

If the player decided to press the button "Upload Video," they will be brought to the video submission page. This page will create videos for your list, which can be visited by coaches.

Upload Video Page

If the player decided to click on the button "My Uploaded Videos," they will be brought to the videos' list page. This page will display all the videos the user uploaded in the website.

My Video List Page

The "Edit Profile" button will appear for both player and coach views. This page will allow user to edit or updated some information.

Edit Profile Page

If the user is a "coach," they will see an interface showing all the players who are looking for coaches. Coaches can also search for specifics playes using the "Search" bar. Moreover, coaches will have the option to use the navigation bar buttons to interact with the website.

Coach Page

Coaches can click on the "Coach Profile" button from the home page, which will redirect the user to the coach profile page. On this page, the user will see different buttons. The button that says "Home," redirect the user to the home page, and the button that says "Edit Profile," changes or updates the coach's information, and the button that actually has to be filled out is the "Coach Profile Form," which will be explained in the next pictures below.

Coach Profile Page

If the coach decided to press the button "Coach Profile Form," they will be brought to the coach's form page. This page will essentially create the flashcards on the home page.

Caoch Form Page

From the home page, coaches can analyze player's videos by clicking on "View Videos" buttons. Once they click on it, they will be able to see all the uploded videos from the player and leave a comment to the player.

Player's Videos Page

Lastly, if the coach clicks on the "Notification" button from the home page, they wiil be redirected to the notification page. This page will display the video call requests from the players.

Notification Page

Milestones

Challenges

The biggest challenge I had in this project was definitely the deployiment part. It requires a lot of technical skills and knowlegde on the technologies. For this project, I used a platform called Heroku, which is basically a cloud-based Platform as a Service (PaaS) that allows developers to build, deploy, manage, and scale apps. Since most of the platforms does not support MySQL database, I had to switch to PostgresSQL database. Plus, Heroku does not allow user to upload media files, which made it harder to make the website to run. In order to solve this problem, it is necessary a third party platform that allows users to do so. I ended up using AWS S3, which basically works as a storage platform for media files. Unfortunately, the users will not be able to see their profile pictures nor videos, until AWS S3 is integrated.

Visit Website

Go to the website

Download Source Code

Download

Developer Information

Developer: Eduardo Tomoike

Major: Computer Science

Minor: Business

Graduation Date: December 2024

Contact Information

Email: eytomoike@txwes.edu