Geohub

screenshot of Geohub
nextjs
react
styled-components

Free, open source geoguessr alternative

Overview

GeoHub is a free and open-source geography guessing game inspired by Geoguessr. Players are placed in a random location using Google Streetview and have to guess where they are in the world by utilizing clues such as language, architecture, and road signs. The closer the guess is to the correct location, the more points are earned. It relies on community support for donations to cover costs like Google Maps API credits and server maintenance.

Features

  • Geography Guessing Game: Based on Geoguessr, players guess their location using Google Streetview.
  • Community Support: Relies on donations to cover operational costs.
  • Account Creation: Users can create free accounts or use a guest account to play.
  • Various Game Modes: Offers different game modes such as Country Streaks and The Daily Challenge.
  • Challenge Friends: Allows players to create challenge links to play with friends.
  • Map Creation: Users can create their own custom maps with specific locations.

Summary

nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

styled-components
Styled Components

Styled Components is a popular library for styling React components using CSS syntax. It allows you to write CSS in your JavaScript code, making it easier to create dynamic styles that are specific to each component.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.