Running la Safor is a comprehensive JavaFX desktop application designed to manage, analyze, and visualize sports activities. Originally built to provide an intuitive user interface for athletes, the application allows users to import GPX files, review their performance statistics, and manage custom map annotations.
The application features a modern, clean, and responsive user interface with dynamic visual elements, floating labels, and glassmorphism-inspired design principles.
- User Authentication: Secure login and registration with robust validation for email, passwords, and user details.
- Profile Management: Update user information, including avatars, nicknames, emails, and passwords securely.
- Activity Dashboard: A centralized home view to visualize all imported sports activities with key metrics (distance, date, name).
- GPX Import: Easily import standard
.gpxfiles to add new activities to your profile. - Detailed Activity View: Dive deep into the statistics of a specific activity.
- Map & Annotation Management: Interactive map features where users can draw and save custom annotations (lines, text, points, and circles) with customizable colors and stroke widths.
- Accumulated Statistics: Track your progress over time with aggregated data views.
- Session History: Keep track of user login sessions for security and auditing purposes.
- Java: Core programming language.
- JavaFX: Used for building the rich graphical user interface.
- FXML: Defines the structure of the UI components.
- CSS: Custom styling for JavaFX (
nord-lighttheme base with extensive custom overrides for a premium feel). - Ant: Build tool used for compiling and packaging the NetBeans project.
To run and build this project, you will need:
- Java Development Kit (JDK) 11 or higher (with JavaFX support, or JavaFX SDK configured).
- Apache Ant (for command-line builds) or NetBeans IDE.
- Clone this repository to your local machine.
- Open NetBeans IDE.
- Select File > Open Project and navigate to the cloned directory.
- Right-click the project and select Run to launch the application.
- Navigate to the project directory:
cd "Running-la-Safor"
- Build the project:
ant compile
- Run the application:
ant run
src/application/: Contains the main entry pointApp.java.src/controllers/: JavaFX controllers handling the logic and event listeners for each view.src/view/: FXML files defining the layout of the screens.src/resources/: Contains CSS stylesheets (styles.css,nord-light.css), images, and other assets used by the UI.src/utils/: Utility classes for navigation, alerts, and formatting.
The project includes a design document — Prototypes and Conceptual Design.pdf (written in Spanish) — containing:
- Medium-fidelity prototypes for every screen: Login, Registration, Main Dashboard, Edit Profile, Session History, Import Activity, Activity Details, Add Annotation, Accumulated Statistics, and Map Management.
- Container descriptions detailing the purpose, user/system functions, navigation links, and related objects for each screen.
- Object/Action tables defining attributes and operations for each domain entity (User, Activity, Annotation, Session, Map).
- Content Diagram illustrating the full navigation flow between all application screens.
The user interface was crafted with a strong emphasis on modern design patterns. It features custom-styled fields with floating labels, elevated white cards over beautifully generated abstract backgrounds, and an overall layout that emphasizes usability and aesthetics.