This project displays an interactive map with various locations and filtering capabilities.
This frontend prototype offers the following features:
- Interactive OpenStreetMap integration using Leaflet.js
- Custom markers with color-coded icons representing different location types
- Pan and zoom capabilities for easy navigation
- Initial view centered on the DACH region (Germany, Austria, Switzerland)
- Home: Personal residences
- Firma: Companies and corporate locations
- Wirkungsbereich: Areas of influence/effect
- Unternehmen: Businesses and enterprises
- Projekt: Various project locations
- Tisch: Meeting tables/places
- Filter locations by type using the dropdown menu
- Text search functionality to find locations by title or description
- Toggle to display service areas for businesses and companies
- Clickable markers that reveal detailed information
- Information panel with location details slides in from the right
- Service area visualization for business-type locations (5km radius for companies, 3km for businesses)
- Color-coded legend for easy identification of location types
- Locations stored in a structured JSON format
- Each location contains type, geographic coordinates, icon, and descriptive information
- Easily extensible to include additional location types or data fields
To run the project locally:
-
Make sure you have Node.js installed on your system
-
Open a terminal in the project directory
-
Run the following command to start the development server:
npm startOr simply use:
npx http-server -
Open your browser and navigate to http://localhost:8080
This project uses a dedicated gh-pages branch for GitHub Pages deployment:
- Push changes to your
mainbranch first - GitHub Actions will automatically deploy to the
gh-pagesbranch - Go to repository settings on GitHub
- In the left sidebar, click on "Pages"
- Under "Source", select the
gh-pagesbranch - Click "Save"
Your site will be published at: https://[your-username].github.io/[repository-name]/
If you prefer to deploy manually without GitHub Actions:
- Push the code to your GitHub repository
- Go to your repository settings on GitHub
- In the left sidebar, click on "Pages"
- Under "Source", select the branch you want to deploy (usually "main")
- Click "Save"
Your site will be published at: https://[your-username].github.io/[repository-name]/
- Make sure your repository name is the same as specified in your links
- If you're using a custom domain, add a CNAME file to your repository
- All paths in the HTML, CSS, and JavaScript files should be relative paths
index.html- Main application file with the interactive mapdata.json- Contains all the map location dataserver.js- Local development server (not used in GitHub Pages)package.json- Project configuration
- Maps powered by Leaflet.js
- Icons from Font Awesome
- UI components from Bootstrap