High School Project | Desktop Application
Athletics Management System (High School PAT) | Java Swing & MS Access
Foundational problem solving and data integrity with a 90 percent score. Built to solve a direct problem faced by coaches and athletes when managing competition data. This project introduced me to structured programming, user interfaces with Java Swing, and database management, laying the groundwork for my university studies.
Project Summary
This project was developed for my high school Information Technology (IT) Practical Assessment Task and earned a 90 percent mark. As a track athlete I struggled to track my own progress and compare results to my peers. Coaches were managing paper records and there was no easy way to view rankings or upcoming events. I designed this application for my coach to provide a centralized hub for data management and visibility.
The Challenge: Slow, Manual Data Handling
The Southdowns College athletics team relied on manual processes for results and administration. Results were recorded on paper, rankings were calculated by hand, and event notices were physical. This led to slow result distribution to athletes and coaches, inaccurate or difficult tracking of personal bests, and no centralized hub for team management, event notifications, and registration.
Core Solution: Java Application with Automated Ranking
The solution is a Java desktop application using Java Swing built around a centralized MS Access database. It provides a role based interface for public users and administrators.
- Public Features: View athlete rankings, browse the current field team roster, and check upcoming events.
- Administrative Features: Secure login via tblAdmin, athlete registration via tblAthletes, and the ability to upload and process large sets of meet results.
Technical Deep Dive: Data Processing and Ranking
1. Data Ingestion Algorithm
The critical feature is uploading competition results from external text files such as Results.txt directly into the database table tblResult.
- The coach inputs the file name into the Admin GUI.
- The application reads the text file line by line.
- A parsing algorithm extracts name, surname, event, result, and date and encapsulates these into a Result object.
- The application executes a SQL update through the ConnectDB data access layer to persist the record into MS Access.
2. Dynamic Ranking Algorithm
The ranking feature allows athletes to check performance against peers within a specific event and gender category. The system sends a filtered SQL query to the database and performs an internal sort to display the correct order for the event type. This demonstrated early competency in query optimization and algorithmic sorting in a data driven Java environment.
Architectural Structure
- Domain Objects: Athlete, Rank, and Result model the real world entities with clean encapsulation.
- Data Access Layer: The ConnectDB class manages the JDBC connection to the MS Access database and provides generic getTable select and updateTable insert or update methods.
Key Takeaway
This project focused on translating a personal sporting problem into a functional data centric desktop application. It showcases core aptitude for systematic problem solving and software implementation and set the foundation for my later university level systems work.
Impact: Foundations in Data Integrity and Problem Solving
The Athletics Management System demonstrates the ability to analyze needs, design logical structures, and implement robust software that improves real workflows for coaches and athletes.