GEO-NERD

🌍 Geo-Nerd Mobile

https://takigokul.github.io/GEO-NERD/

A modern, mobile-first geography guessing game built with React and TypeScript, featuring an ash-colored glassmorphic design system.

✨ Features

🎮 Game Mode

🎯 Core Gameplay

🎨 Design System

📱 Mobile Optimizations

🏆 Advanced Features

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:
    git clone <repository-url>
    cd geo-nerd-mobile
    
  2. Install dependencies:
    npm install
    
  3. Start the development server:
    npm start
    
  4. Open your browser and go to http://localhost:3000

🛠️ Technology Stack

📁 Project Structure

src/
├── components/
│   ├── StartScreen.tsx          # Game mode selection
│   ├── Game.tsx                 # Main game logic
│   ├── GameMap.tsx              # Interactive world map
│   ├── ImagePanel.tsx           # Location image and info
│   ├── Results.tsx              # Round results modal
│   └── FinalResults.tsx         # Game completion screen
├── data/
│   └── locations.ts             # Location database and utilities
├── App.tsx                      # Main application component
├── App.css                      # App-specific styles
└── index.css                    # Global styles and design system

🎨 Design System

Color Palette

Typography

Spacing & Layout

🎮 Game Mechanics

Scoring System

Hint System

Distance Calculation

Uses the Haversine formula for accurate distance calculation between GPS coordinates.

📱 Mobile Features

Touch Interactions

Performance

🚀 Deployment

Build for Production

npm run build

Deploy to Netlify

  1. Connect your repository to Netlify
  2. Set build command: npm run build
  3. Set publish directory: build
  4. Deploy automatically on push

🎯 Future Enhancements

📄 License

This project is licensed under the MIT License.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📞 Support

For support, email support@geonerd.com or create an issue in the repository.


Geo-Nerd Mobile - Master the World, One Location at a Time 🌍