Demo app (web/):
- Collections: select, rename, remove (x button per row), delete
- Features: add point (lon/lat validation), remove, list in selected collection
- QR codes for pk (private) and pb (public) keys
- Restore public key from private key
- 409 Conflict handled for already-registered login
- Title: Momswap Geo Backend Use-Cases Test
Backend:
- PATCH /v1/collections/{id} for rename
- DELETE /v1/collections/{id}
- Clearer lon/lat validation errors (-180..180, -90..90)
Client:
- updateCollection, deleteCollection, derivePublicKey
Docs:
- docs/frontend-development.md (demo app, local dev)
- README links to all docs
Made-with: Cursor
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
This document explains how frontend developers should integrate with the backend through the reusable TypeScript client at `libs/geo-api-client`.
|
||||
|
||||
> **See also:** [Frontend Development](frontend-development.md) — demo app (`web/`), local dev, build steps.
|
||||
|
||||
Primary backend URL for integration:
|
||||
|
||||
- `https://momswap.produktor.duckdns.org/`
|
||||
@@ -43,6 +45,7 @@ Key methods:
|
||||
|
||||
- `ensureKeysInStorage()`
|
||||
- `getStoredKeys()`
|
||||
- `derivePublicKey(privateKey)` — restore public key from private key (Ed25519)
|
||||
- `importKeys(keys)`
|
||||
- `exportKeys()`
|
||||
- `setAccessToken(token)`
|
||||
@@ -54,8 +57,11 @@ Key methods:
|
||||
- `registerWithInvitation(...)`
|
||||
- `listCollections()`
|
||||
- `createCollection(name)`
|
||||
- `updateCollection(collectionId, name)`
|
||||
- `deleteCollection(collectionId)`
|
||||
- `listFeatures(collectionId)`
|
||||
- `createPointFeature(collectionId, lon, lat, properties)`
|
||||
- `deleteFeature(featureId)`
|
||||
|
||||
## Recommended integration flow
|
||||
|
||||
|
||||
Reference in New Issue
Block a user