A modern, high-performance geography exploration and gaming platform.
GeoGeek transforms geographical data into an immersive, engaging experience. Built with cutting-edge web technologies, it offers a seamless way to discover political boundaries, geographical statistics, and unique country insights while challenging your knowledge with interactive games.
- Precision Navigation: Seamlessly transition between global views and specific continents with D3-powered projections.
- Real-time Tooltips: Instant data visualization and hover-based insights as you explore the world.
- Intuitive UI: Refined navigation with "Return to World" capabilities and modern design aesthetics.
- Regional Quizzes: Test your knowledge on US States, Brazil States, Italy Regions, France Regions, and more.
- Dynamic Difficulty: Adjustable levels (Easy, Medium, Hard) with corresponding scoring multipliers.
- Interactive Feedback: Uses
canvas-confettifor a rewarding user experience.
- Deep Dives: Access profiles for countries, including capitals, languages, demographics, GDP, and HDI.
- Comparative Rankings: Explore world rankings based on population, area, and other key geographic metrics.
- Data Driven: Uses the @mucadoo/wiki-geo-data npm package for reliable, structured data access.
- Multilingual: Internationalization support via
next-intl. - Performance First: Optimized with TanStack Query and Zustand for efficient state management.
- Fully Responsive: Crafted with Tailwind CSS 4 for a perfect experience on any device.
| Category | Tools |
|---|---|
| Framework | Next.js (App Router), React |
| Styling | Tailwind CSS 4, Lucide Icons |
| Maps | D3.js, TopoJSON |
| State | Zustand, TanStack Query |
| Language | TypeScript, next-intl |
- Clone the repo:
git clone https://github.com/mucadoo/geo-geek.git
- Install dependencies:
npm install
- Launch development server:
npm run dev
- Explore: Head over to
http://localhost:3000.
The project is configured for automated deployment via GitHub Actions, pushing production-ready builds to GitHub Pages. Live Demo: GeoGeek on Vercel
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature' --trailer "Co-authored-by: Junie <junie@jetbrains.com>") - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
GeoGeek - Discovering the world, one territory at a time.