An online game that's like Where's Waldo? but for houses
Geofinder is an online scavenger hunt game. Its gameplay is simple: Given a photo of a house somewhere in the world, your task is to look for that house inside a marked area on a map. While that may sound straighforward, how you will go about looking might not be.
Geofinder comes in two modes.
- In the Wordle-like default mode, you are given one house a day and have until the end of the day (CST time) to find it.
- In the Netflix-like challenge mode, aka Geo50x, you are given 50 houses at once.
Geofinder is inspired by such childhood games as Where's Waldo? and Where in the World is Carmen Sandiego?. And the simple pleasures of looking out through vehicle windows and just gazing at the passing landscapes and cityscapes.
More screenshots below.
ALL CONTENTS IN THIS REPO ARE FOR EDUCATIONAL PURPOSES ONLY.
- See
requirements.txt
Clone it!
git clone https://github.com/ggeerraarrdd/geofinder.git
Go into the project directory and run the command:
flask run
Tbd
For the embedded maps to work, you need to use your own API Key. Before you can create one, you will need to create a Google Cloud project, for which you need a Google Cloud account.
Set up the following environment variables using your preferred method.
SECRET_KEY=<Your_Flask_Session_Secret_Key>
MAP_API_KEY=<Your_Google_Maps_API_Key>
GEOFINDER_DB_HOST=<Your_Database_Host>
GEOFINDER_DB_PORT=5432
GEOFINDER_DB_NAME=<Your_Database_Name>
GEOFINDER_DB_USER=<Your_Database_Username>
GEOFINDER_DB_PASSWORD=<Your_Database_Password>
NEW_REGISTRATIONS=TRUE
The initial realease of Geofinder, as Geo50x, was submitted as the final project for CS50x: CS50's Introduction to Computer Science (HarvardX, 2023). Read the project brief as of September 2023.
Development is ongoing.
- The distribution code for CS50's Finance problem served as a template for the app.
- The documentions for the Google Maps Platform were a daily, often hourly, read.
- Too many StackOverflow Q&As and Medium articles to mention but a couple proved immensely useful in developing two key functions
- The folks at CS50 for a mind-altering course.