This app was designed for Resurrection Roller Derby's "Skate the Bay" marathon. It could potentially be repurposed for any other marathon. Works with React, Node.js, Express and MongoDB.
Participants are given a unique link to their personal dashboard. No accounts are used. Which works partly because we didn't have any entry fees. Three virtual marathons were made available, including a virtual route. An 'Achievments' component takes total mileage and unlocks badges, which are identified (along with mile requirements) in a simple JSON file. One file per marathon. Users enter their distance each day, which is accumulated to totals. An opt-in leaderboard shows top distances and those who have completed the longest marathon.
While not currently set up for easy installation, this software is available for use with attribution.