cb23461cf82f73e3c6f6934a03c03f2754b4a6eb
CI / test (push) Failing after 4s
Probe clone endpoints first and, if none are reachable from the runner container, download and extract the repository archive so test steps can still execute. 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%