- Updated the backend documentation in CONTRIBUTING.md and README.md to reflect changes in application structure and API endpoints. - Enhanced the frontend components in MapView.vue for better handling of context menu actions. - Added new types and interfaces in TypeScript for improved type safety in the frontend. - Introduced new utility classes for managing characters and markers in the map. - Updated .gitignore to include .vscode directory for better development environment management.
1.4 KiB
1.4 KiB
Contributing to hnh-map
Getting started
Clone the repository and run the project locally (see Development):
- Option A: Docker Compose for development:
docker compose -f docker-compose.dev.yml up(frontend on 3000, backend on 3080). - Option B: Run Go backend from the repo root (
go run ./cmd/hnh-map -grids=./grids -port=8080) and Nuxt separately (cd frontend-nuxt && npm run dev). Ensure the frontend can reach the backend (proxy or same host).
Code layout
- Backend: Entry point is
cmd/hnh-map/main.go. All application logic lives ininternal/app/(packageapp):app.go,auth.go,api.go,handlers_redirects.go,client.go,client_grid.go,client_positions.go,client_markers.go,admin_*.go,map.go,tile.go,topic.go,migrations.go. - Frontend: Nuxt 3 app in
frontend-nuxt/(pages, components, composables, layouts, server, plugins,public/gfx). It is served by the Go backend under/map/with baseURL/map/.
Formatting and tests
- Go: run
go fmt ./...before committing. - Add or update tests if you change behaviour; run
go test ./...if tests exist.
Submitting changes
- Open a pull request with a clear description of the change.
- Mention compatibility with hnh-auto-mapper-server if relevant (e.g. client protocol or API).