The Ultimate Travel Guessing Game!
Globe Trotter Challenge is an interactive web game that takes players on a virtual journey around the world! Get cryptic clues about famous destinations, test your geography knowledge, and discover fascinating facts about places you may have never visited.
- 🔍 Cryptic Destination Clues: Test your knowledge with intriguing hints about world-famous places
- 🎮 Multiple-Choice Format: Select from possible destinations to find the right answer
- 🎉 Animated Feedback: Watch confetti explode across your screen with every correct guess!
- 😢 Gentle Encouragement: Get a sad-face animation but still learn something new when incorrect
- 💯 Score Tracking: Monitor your progress as you become a master globe trotter
- 👥 Challenge Friends: Generate unique invitation links with dynamic images to challenge others
- 📱 Social Sharing: Easily share your achievements via WhatsApp and other platforms
- 🔐 Simple Authentication: Register with a unique username and password to save your progress
-
Frontend:
- React.js for a responsive and interactive UI
- canvas-confetti for celebratory animations
- React Router for navigation
-
Backend:
- Flask (Python) for a robust API
- SQLite for lightweight data storage
- JWT (JSON Web Tokens) for secure authentication
globe-trotter/
├── backend/
│ ├── app.py # Main Flask application
│ ├── database.py # Database operations
│ ├── data/
│ │ └── destinations.json # Destination data with clues and facts
│ └── requirements.txt # Python dependencies
├── frontend/
│ ├── public/
│ │ └── index.html
│ ├── src/
│ │ ├── App.js
│ │ ├── components/ # React components
│ │ │ ├── Auth.js # Authentication component
│ │ │ ├── Game.js # Main game component
│ │ │ ├── Clue.js # Clue display
│ │ │ ├── Options.js # Answer options
│ │ │ ├── Score.js # Score display
│ │ │ ├── Share.js # Share functionality
│ │ │ └── Feedback.js # Answer feedback
│ │ ├── contexts/
│ │ │ └── AuthContext.js # Authentication context
│ │ └── styles/ # CSS files
│ └── package.json # React dependencies
└── README.md
- Node.js (v14+)
- Python (v3.8+)
- npm or yarn
-
Navigate to the backend directory:
cd backend -
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up environment variables:
# Create a .env file with: BACKEND_SECRET_KEY=your_secret_key_here -
Run the Flask server:
python app.py
The server will start on http://localhost:5000
-
Navigate to the frontend directory:
cd frontend -
Install the required dependencies:
npm install
-
Start the development server:
npm start
The app will be available at http://localhost:3000
- Register: Create your unique Globe Trotter identity
- Login: Access the game with your credentials
- Get Clues: Read the cryptic hints about a mystery destination
- Make Your Guess: Select what you believe is the correct location
- Instant Feedback: ✅ Correct? Enjoy the confetti celebration and learn an interesting fact! ❌ Incorrect? Don't worry - you'll still discover something fascinating
- Continue Your Journey: Click "Next Destination" for a new challenge
- Challenge Friends: Share your score and invite others to beat it
- Become a Master Globe Trotter: See how many destinations you can identify!
POST /api/register- Register new userPOST /api/login- Login user
GET /api/destination- Get random destination with cluesPOST /api/check-answer- Submit and check answerGET /api/user- Get user profile and scorePOST /api/challenge- Generate challenge link for sharing
- All game endpoints require access from a magic key(JWT Token)
- You have only a day(24hr) before the key vanishes into thin air. (Don't worry you can create another key by entering into the game again)
- The clues are securely stored on a hidden island to which only we have the access.
- Your passwords are secretly stored using a magic potion, which does not allow anyone else except you. (FYI Not even me)
Happy globe trotting! 🌍
