Gps50
Web-based GPS activity viewer written in Python and JavaScript. Utilises the Flask web framework and the Google Maps API. Submitted as my final project for Harvard’s CS50x.
Install / Use
/learn @Ross-Coron/Gps50README
GPS50
Hello, world! Welcome to GPS50 - a simple online GPS activity viewer. GPS50 was designed, written, and implemented by Ross P. Coron as part of CS50 2019. For a quick tour of GPS50, please watch a short video here!

Quickstart:
- Register or log into GPS50
- Navigate to 'Upload'
- Select and upload your GPS XML file
- View your GPS activity (left) and generated statistics (right)
- To view previous activities, navigate to 'History'
Note: activities greater than 45 Km cannot be uploaded / viewed using GPS50. Please insert your personal Google Maps API into relevant pages where instructed.
Previous Versions:
- Version 0.1 - Website skeleton
- Version 0.2 - Simple map added
- Version 0.3 - Upload files added
- Version 0.4 - Plot route added
- Version 0.5 - Activity split viewer added
- Version 0.6 - Activity statistics added
- Version 0.7 - History added
- Version 1.0 - Minimum viable product
- Version 1.1 - Split datetime field into individual date and time fields
- Version 1.2 - Restricted activity distance length to 10 Km
- Version 1.3 - Annotated and tidied code
- Version 1.4 - Activities > 10 Km accepted
- Version 1.5 - Removed ability to upload previously uploaded activity
- Version 1.6 - Annotated and tidied code
- Version 1.7 - Further debugging / code annotation (current version)
Future Features:
- Handle non-XML file types
- View previously uploaded activities
Reported Bugs:
Activity not added to database if same date and time already present (not yet verified)
Acknowledgements:
Tab watch icon - link 404 error image - link Small portions of Python Flask code - link Haversine function - link CS50 - link
This was CS50!
Related Skills
node-connect
349.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.7kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
