5897b700fb527c708ca7d91f931a46025099b556
CI / test (push) Failing after 4s
Keep URL probing compatible with minimal runner images by dropping gateway discovery and checking known internal/external repository endpoints directly. Made-with: Cursor
Momswap Geo Backend
Go backend service for user-owned GeoJSON feature collections with Ed25519 authentication and invitation-based onboarding.
What is implemented
- Ed25519 challenge-response auth (
/v1/auth/challenge,/v1/auth/login) - Hybrid invitation onboarding (signed invite payload + inviter lineage)
- User registration with ownership proof (
/v1/auth/register) - Per-user collections and Point feature CRUD endpoints
- Static no-build frontend (
web/) using Vue + Vuetify from CDN - Reusable TypeScript API client (
libs/geo-api-client) using@noble/ed25519 - Bun tests for the TS client and Go tests for API flows
- Gitea CI workflow running Go and Bun test suites
Quick start
go test ./...
go run ./cmd/api
Server default: http://localhost:8080.
Optional environment variables:
ADDR(default:8080)ADMIN_PUBLIC_KEY(bootstrap initial inviter/admin user)
Docker Compose
Build and run the backend service:
docker compose up --build -d
Stop the service:
docker compose down
For local development with auto-rebuild on file changes:
docker compose up --watch
Frontend
Open web/index.html through a static server (recommended) or browser file URL.
Example:
python -m http.server 4173
Then visit http://localhost:4173/web/.
API client library
Path: libs/geo-api-client
cd libs/geo-api-client
bun install
bun test
bun run build
CI
Workflow: .gitea/workflows/ci.yml
go test ./...bun testinlibs/geo-api-client
Description
Languages
HTML
37.2%
CSS
35.2%
SCSS
17.8%
Go
4.7%
JavaScript
2.8%
Other
2.2%