A web application that allows users to view and share hitchhiking experiences on an interactive global map, creating a community-driven platform for hitchhikers to rate and comment on pickup locations and rides. It uses the Nostr protocol for decentralized data storage.
Hitchmap nostr is an effort to put hitchhiking spots and related information on nostr and allowing users to link their existing identities (e.g. trustroots nip5).
Spots, rides and recent changes on hitchwiki are fetched by the nostrhitch bot and converted into nostr notes.
- Interactive globe map with clustered hitchhiking spots
- Color-coded ratings (red/orange/green for poor/average/good experiences)
- Add new hitchhiking experiences with ratings and comments
- Real-time data loading from Nostr network
- Location-based experience sharing
- Community-driven content
- Frontend: SvelteKit, Svelte 5
- Mapping: MapLibre GL JS
- Data: Nostr protocol (@nostr-dev-kit)
- Styling: Tailwind CSS
- Testing: Vitest (unit), Playwright (e2e)
- Development: Vite, Storybook, ESLint, Prettier
- Package Manager: pnpm
- Ensure you have Node.js installed.
- Install pnpm if you haven't already:
npm install -g pnpm
- Clone the repository:
git clone https://github.com/Hitchwiki/hitchmap-nostr.git cd frontend - Install dependencies:
pnpm install
- Start the development server:
The application will be available at
pnpm dev
http://localhost:5173.
pnpm dev- Start the development serverpnpm build- Build the application for productionpnpm preview- Preview the production build locallypnpm check- Run type checking with Svelte and TypeScriptpnpm check:watch- Run type checking in watch modepnpm format- Format code with Prettierpnpm lint- Check code formatting and lintingpnpm test:unit- Run unit tests with Vitestpnpm test- Run all tests (unit and e2e)pnpm test:e2e- Run end-to-end tests with Playwrightpnpm storybook- Start Storybook development serverpnpm build-storybook- Build Storybook for deployment
src/lib/- Shared utilities, components, and processorssrc/routes/- SvelteKit routes and pagessrc/stories/- Storybook stories for componentse2e/- End-to-end testsstatic/- Static assets
We welcome contributions to Hitchmap! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes and ensure tests pass:
pnpm test - Format your code:
pnpm format - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature-name - Open a pull request
Please ensure your code follows our linting rules and includes appropriate tests.
This project is licensed under the terms in the LICENSE file.