Geo-Quest

How to play

After pressing Play, the user is shown an image taken from somewhere within a selected range of their current location. The goal is to physically reach that spot and press "Guess" when they think they’ve found it. Users have three guesses, with points decreasing after each attempt.

Features

Frontend (React)

  • Built with React for a dynamic, component-based UI.
  • Real-time GPS tracking and live location updates using the browser's geolocation API.
  • Axios-based communication for efficient API calls.
  • Styled feedback system with popups for success/failure events.

Backend (Flask)

  • Lightweight Python Flask server for handling API requests.
  • Serves Google Maps Static API images based on user coordinates.
  • Implements CORS and secure routing for seamless cross-origin interaction.

Game Mechanics & Security

  • Location verification using a precision threshold (within 100m radius) calculated by the Haversine formula.
  • Point system with decreasing rewards over three allowed guesses.
  • Secure login and signup with JSON Web Tokens (JWT) for robust user authentication.

What's next for Geo-Quest

  • Adding speed checker for blocking users from cheating by using vehicles
  • Adding collectibles or some sort of shop where the points can be spent at
  • Adding virtual cards or items that only exist in virtual space and can be scanned, once scanned they can be added to the user's collection
Share this project:

Updates