This project is a distributed app developed for the course of Distributed Systems (INF507 - 3664) at Athens University of Economics and Business, over the course of the 2022-23 spring semester.
The system consists of a frontend mobile application for the UI (contained in this repository), along with a backend system for the data analysis.
The frontend system contains a simple mobile application, that serves as the user interface for the system.
It enables users to add activities in the form of gpx files, as well as track their progress in a user-friendly manner.
-
Personal statistics for a user, which include (but are not limited to) the number of activities recorded, total distance, and total exercise time.
-
Graphical and visual comparisons of the user's statistics with other registered users.
-
Segment tracking: The app supports the registration of segments, akin to Strava. When a user sends a gpx file which contains the specific list of waypoints a segment contains, statistics for the segment are calculated on the backend, and the results are placed in the leaderboard for the respective segment. A user can then view all the leaderboards for the segments they have registered.
-
Set up the backend. You can find the setup instructions on the backend repository.
-
Clone the project.
-
Open Android Studio.
-
Setup the SDK path accordingly in the local.properties file.
-
Configure the configuration file:
• Locate the "config.properties" file, which can be found in the assets folder.
• Update the "master_IP" and "master_port" attributes accordingly, to reflect the IP and port you are using on the pc that will be used as the master.
-
If you would like to send a file (and not just view existing results), move your GPX files to the Downloads folder of your emulator.
-
Build and run the frontend application.
This project is licensed under the MIT License.