๐Ÿ—บ๏ธ Pathfinder

Pathfinder Banner

A modern, interactive mapping application built with Next.js 15, MapboxGL, and TypeScript. Pathfinder provides a seamless mapping experience with features like real-time weather data, location search, and customizable map styles.

Demo ยท Report Bug ยท Request Feature

โœจ Features

  • ๐ŸŒ“ Dark/Light mode support
  • ๐Ÿข 3D Building visualization
  • ๐Ÿ” Location search with autocomplete
  • ๐ŸŒค๏ธ Real-time weather information
  • ๐Ÿ“ Current location detection
  • ๐Ÿ›ฐ๏ธ Street/Satellite view toggle
  • ๐Ÿ“ฑ Fully responsive design
  • โŒจ๏ธ Keyboard shortcuts support
  • ๐ŸŽจ Modern UI with Tailwind CSS and shadcn/ui

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 22+
  • A Mapbox API key (get it from Mapbox)
  • A OpenWeather API key (get it from OpenWeather)
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/shadowoff09/pathfinder.git
cd pathfinder
  1. Install dependencies:
npm install
# or
yarn install
  1. Set up environment variables:

    • Copy the .env.example file to .env.local:
      cp .env.example .env.local
    • Open .env.local and add your Mapbox API key:
      NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=your_mapbox_token_here
      NEXT_PUBLIC_WEATHER_API_KEY=your_weather_api_key_here
    • Get your API keys from:
  2. Start the development server:

npm run dev
# or
yarn dev
  1. Open http://localhost:3000 in your browser.

๐ŸŽฎ Usage

Map Navigation

  • Pan: Click and drag
  • Zoom: Scroll or use the zoom controls
  • Rotate: Right-click and drag
  • Reset View: Press Ctrl+Q

Features

  • Search locations using the search bar
  • Toggle between street and satellite view
  • View 3D buildings in street view mode (zoom level 15+)
  • Check weather information (zoom level 14+)
  • Get current location with one click
  • Copy coordinates to clipboard

๐Ÿ› ๏ธ Built With

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Mapbox for their excellent mapping platform
  • shadcn/ui for the beautiful UI components
  • Vercel for hosting and deployment

๐Ÿ“ซ Contact

shadow - @shadowdev09

Project Link: https://github.com/shadowoff09/pathfinder


โญ๏ธ If you like this project, please give it a star!