An interactive world map dashboard for exploring Geyser projects by location.
- Interactive world map showing all projects based on their country location
- Filter projects by category and sub-category
- Responsive design that works on desktop and mobile devices
- Uses Geyser's GraphQL API for data
- React
- TypeScript
- Apollo Client for GraphQL
- Leaflet for interactive maps
- React-Select for dropdown filters
- Styled with CSS and Geyser's brand colors
- Node.js (v16 or higher)
- Yarn or npm
- Docker and Docker Compose (for containerized setup)
- Clone the repository
- Navigate to the project directory:
cd geyser-map
- Install dependencies:
or
yarn install
npm install
Create a .env
file in the root directory with the following variables:
VITE_GRAPHQL_API_URL=http://localhost:4000/graphql
Replace the URL with your GraphQL API endpoint.
Start the development server:
yarn dev
or
npm run dev
The application will be available at http://localhost:3001
.
The application is configured to run in Docker as part of the Geyser platform:
- Make sure Docker and Docker Compose are installed
- From the root of the Geyser project, run:
or to run all services:
docker-compose up geyser-map
docker-compose up
When running in Docker, the application will be available at http://localhost:3002
.
Build the application:
yarn build
or
npm run build
The built files will be in the dist
directory.
src/components/
- React componentssrc/api/
- GraphQL queriessrc/hooks/
- Custom React hookssrc/types/
- TypeScript type definitionssrc/utils/
- Utility functionssrc/styles/
- CSS and style-related files
This project is part of the Geyser platform and is subject to its licensing terms.