Sprint O’Clock

Team Name

Swift Start

Timeline

Spring 2024 – Summer 2024

Students

Cesar Frayre – Computer Science
Lauren Bryant Eyum – Computer Science
Kosuke Satake – Computer Science
Gin Sang – Software Engineering
Shaheen Nijamudheen – Computer Science

Abstract

Sprint O’ Clock is a mobile application designed for sprinters and fitness enthusiasts, offering a comprehensive platform to track, analyze, and improve running performance. The app caters to users on both iOS and Android platforms and provides a range of features designed to support runners of all levels, from beginners to experienced athletes.

Background

Running apps are immensely popular; however, most are designed for health-conscious individuals and are not well-suited for sprinters. This project addresses the unique needs of sprinters by offering features such as a random start timer and the simulation of unpredictable gunfire to initiate races, and as close to accurate distance tracking to enhance the training experience.

Project Requirements

  1. Implement randomized start time feature to test reaction time: The app will replace the traditional countdown timer with a randomized start timer. This feature will simulate real race scenarios by providing unpredictable start signals.
  2. Accurate calculation of distance and time.
  3. Calendar interface to record run history.
  4. User-friendly UI for both iOS and Android.
  5. Secure user authentication and data storage.
  6. Display of distance covered and calories burned.
  7. Relevant Data analysis and stats for performance tracking.

Design Constraints

  1. Cost: The project budget is limited to $800, which covers essential equipment and cloud storage costs. Staying within this budget requires careful planning and resource management to ensure all necessary features are developed without exceeding financial limits. This constraint necessitates prioritizing essential features and seeking cost-effective solutions.
  2. Schedule: The project must be completed within the Spring 2024 to Summer 2024 timeline. Meeting this deadline requires a well-structured development plan with clear milestones and regular progress reviews to ensure timely completion. Delays in the schedule can affect the overall project quality and stakeholder satisfaction. Aesthetics: The app must maintain a visually appealing and user-friendly design. This includes consistent branding, an intuitive interface, and engaging visual elements that
    enhance user experience without compromising functionality. A well-designed app can improve user engagement and satisfaction.
  3. Satellite Accuracy: The app’s performance heavily relies on the accuracy of GPS satellite data to track distances accurately. This involves ensuring that the app can handle variations in satellite data accuracy and provide reliable distance measurements to the users. Accurate distance tracking is crucial for obtaining and calculating other data.
  4. Interoperability: The app must work seamlessly across various mobile devices and platforms, including iOS and Android. This involves ensuring compatibility with different screen sizes, operating systems, and hardware configurations to provide a consistent user experience. Proper testing on multiple devices is essential to achieve this goal.

Engineering Standards

  1. Authentication & Security Standards: The app must implement secure authentication methods to protect user data. This includes encrypting sensitive information and ensuring secure login procedures to prevent unauthorized access.
  2. Coding Standards: Adherence to best practices in software development, such as using consistent coding standards and conducting thorough testing, ensures the app is reliable and maintainable. Following industry-recognized coding guidelines helps in creating clean, efficient, and bug-free code.
  3. User Interface Design Standards: The app should follow established UI/UX guidelines to create an intuitive and user-friendly interface. This helps in making the app accessible and easy to navigate for all users, enhancing the overall user experience.
  4. Data Privacy Compliance: The app must comply with data protection regulations, ensuring user data is handled responsibly. Users should be informed about how their data is used, and consent should be obtained for data collection and storage.
  5. Cross-Platform Compatibility Standards: The app must be optimized to run efficiently on both iOS and Android platforms. This involves ensuring compatibility with different screen sizes, operating systems, and hardware configurations to provide a consistent user experience across devices.

System Overview

The Sprint O’ Clock mobile application is structured into three main layers: the Front-End, Back-End, and Database layers. Each layer is designed to handle specific aspects of the app’s functionality, ensuring a seamless and efficient user experience.

Front-End Layer

  • User Interface: The front-end is responsible for the user interface (UI) and user experience (UX) design. It includes visual elements and interactive components that users interact with, such as the “On your marks… Set… Go!” timer, run tracking screens, historical data displays, and settings menus. The front-end is developed using React Native to ensure cross-platform compatibility on both iOS and Android devices.
  • Input Handling: The front-end captures user inputs, such as starting and stopping the timer, entering user details, and navigating through the app. It processes these inputs and communicates with the back-end to perform necessary actions and updates.

Back-End Layer

  • Business Logic: The back-end handles the core functionality of the app, including the implementation of the randomized start timer, calculation of distance and time, and processing of user data. It ensures that all business rules and logic are correctly applied.
  • API Management: The back-end provides APIs that facilitate communication between the front-end and the database. These APIs handle requests for user authentication, data retrieval, and data storage, ensuring secure and efficient data exchange.

Database Layer

  • Data Storage: The database layer is responsible for storing all user-related data, including run history, user profiles, and performance statistics. It uses a secure and scalable database solution to manage this data.
  • Data Retrieval: The database layer retrieves data as requested by the back-end, providing necessary information for display and analysis on the front-end. It ensures data consistency and integrity across the app.

Results

Due to time constraints, we were unable to implement a smartwatch feature for distance tracking and had to rely on carrying a phone instead. Additionally, we did not complete the competition feature of the app. Furthermore, the distance tracking accuracy is limited to approximately 10 meters due to satellite limitations.

Future Work

In the future, we plan to develop the smartwatch component to enhance data collection, including heart rate monitoring. This will also provide a more convenient experience for runners, allowing them to wear a smartwatch instead of carrying a phone.

Project Files

Project Charter
System Requirements Specification
Architectural Design Specification
Detailed Design Specification
Poster
Closeout Materials

References

No References.

Steven McDermott