project-proposal-2025

WhosClimbing

Abstract

As rock climbing continues to grow more people find themselves searching for compatible climbing partners. WhosClimbing aims to provide a scalable software application that connects climbers based on their location and provides information on surrounding crags and gyms. Geolocation technologies will allow users to find partners and new climbing spots on a built in map. Client side rendering ensures the availability of data, allowing users to be notified of their friends activities live! Interoperability is highlighted by robust APIs which integrate real-time data from popular climbing applications (moon, kilter, tension, theCrag, Stókt) into users profiles.

Author

Name: Callum Reilly

Student number: 45804889

Functionality

We provide a medium for users to create customisable climbing events, indoor or outdoor, and share climbing related achievements. Users can notfify wether they are attending climbing locations on a map which features live updates, and view others accounts displaying information related to their climbing.

Features

In a completed application the following features would be available:

Account:

Dashboard:

Friends:

Map:

Attendance:

Statistics:

Scope

The intended scope for the minimum viable provduct (MVP) is as follows:

Account Creation:

Dashboard:

Friends:

Geolocation Features:

Attendance Tracking:

Quality Attributes

Interoperability -

The application will be designed to integrate seamlessly with popular climbing apps such as Stokt, MoonBoard, KilterBoard, and TensionBoard. A robust API will allow real-time retrieval of climbing session data. By ensuring adherence to standard API protocols (RESTful), our system will be able to communicate effectively with external services. This will enhance user experience by providing a centralized platform where climbers can access and analyze their progress across multiple climbing tools without switching between different applications.

Scalability -

The application must be scalable to account for increased user traffic, both as the application increases in popularity and during seasonal climbing periods. Making use of client side rending (CSR) means the server handles data fetching; leaving page rendering to the client. A good scalable system will improve user experience during high load periods. It will also be developed in a way that allows components to be scaled independantly when they are needed, reducing redundancy.

Availability -

The availability of data is defined as real-time updates across the application without the need for total page reloads. This will be achieved through CSR. Client Side Rendering (CSR) enables the dyncamic loading of content to create a rich, interactive experience for users. This facilitates live notifications within the app for new ascents from friends, and who is attending certain climbing areas. It also gives the option for dashboard customisation, brining the application to life with a personalised touch.

Evaluation

Each quality attribute will be evaluated thoughroughly to ensure the application complies

Interoperability Testing -

Scalability Testing -

Availability Testing -