Skip to content

notthebestdev/geo-invaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

Geo Invaders

Important

Right now, the project is in beta. If you find bugs, don't hesitate to fix them and contribute to the project if you know how!

An interactive web application for exploring and tracking Flash Invaders street art across the globe.

Built with Next.js and MapTiler, this app helps you discover, locate, and navigate to Space Invader mosaics in your city.

✨ Features

  • Interactive Map - Explore Flash Invaders locations worldwide with a smooth, responsive map interface
  • Real-time Geolocation - Track your position and find nearby invaders
  • Smart Navigation - Get directions to any invader location
  • Search & Filter - Find specific invaders or browse by area
  • Mobile Responsive - Optimized for both desktop and mobile devices
  • Fast Performance - Static site generation for lightning-fast loading

πŸš€ Getting Started

Prerequisites

  • Node.js 20 or higher
  • npm, yarn, pnpm, or bun

Installation

  1. Clone the repository:
git clone https://github.com/notthebestdev/geo-invaders.git
# or, you can also do: gh repo clone notthebestdev/geo-invaders

cd geo-invaders
  1. Install dependencies:
npm install
# or
yarn install
  1. Create a .env file and add your MapTiler API key:
NEXT_PUBLIC_MAPTILER_KEY=your_api_key_here
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

πŸ› οΈ Tech Stack

  • Framework - Next.js 15 with App Router
  • Mapping - MapTiler & MapLibre GL
  • Styling - Tailwind CSS
  • Language - TypeScript
  • Deployment - GitHub Pages

πŸ“‚ Project structure

└── πŸ“geo-invaders
    └── πŸ“.github
        └── πŸ“workflows
            β”œβ”€β”€ dependabot-changeset.yml
            β”œβ”€β”€ lint.yml
            β”œβ”€β”€ nextjs.yml
            β”œβ”€β”€ release.yml
        β”œβ”€β”€ dependabot.yml
    └── πŸ“public
        β”œβ”€β”€ file.svg
        β”œβ”€β”€ globe.svg
        β”œβ”€β”€ next.svg
        β”œβ”€β”€ vercel.svg
        β”œβ”€β”€ window.svg
    └── πŸ“src
        └── πŸ“app
            β”œβ”€β”€ favicon.ico
            β”œβ”€β”€ globals.css
            β”œβ”€β”€ layout.tsx
            β”œβ”€β”€ page.tsx
        └── πŸ“components
            └── πŸ“ui
                β”œβ”€β”€ button.tsx
                β”œβ”€β”€ command.tsx
                β”œβ”€β”€ CommandPalette.tsx
                β”œβ”€β”€ dialog.tsx
                β”œβ”€β”€ popover.tsx
                β”œβ”€β”€ Settings.tsx
                β”œβ”€β”€ switch.tsx
        └── πŸ“lib
            β”œβ”€β”€ utils.ts
    β”œβ”€β”€ .editorconfig
    β”œβ”€β”€ .env.example
    β”œβ”€β”€ .gitignore
    β”œβ”€β”€ .markdownlint.json
    β”œβ”€β”€ .mergify.yml
    β”œβ”€β”€ .prettierignore
    β”œβ”€β”€ CHANGELOG.md
    β”œβ”€β”€ components.json
    β”œβ”€β”€ eslint.config.mjs
    β”œβ”€β”€ LICENSE
    β”œβ”€β”€ next.config.ts
    β”œβ”€β”€ package-lock.json
    β”œβ”€β”€ package.json
    β”œβ”€β”€ postcss.config.mjs
    β”œβ”€β”€ README.md
    └── tsconfig.json

πŸ“¦ Build & Deploy

Build for production:

npm run build

The app is automatically deployed to GitHub Pages on every push to the main branch.

🀝 Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

πŸ“„ License

This project is open source and available under the MIT License.


Made with ❀️ for the Flash Invaders community by TheBestDeveloper

About

πŸ—ΊοΈ An interactive map for Flash Invaders, built in Next.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •