6de2455917
- Added GLOBAL_MARKETS_TITLE to all translation files - Updated footer with 12 markets (4 active + 8 upcoming) - Translated market section to: zh-cn, zh-tw, ja, ko, th, vi, id, ms, hi - Built and deployed to production - CloudFront invalidation: I3RTMXVFDJXWLG3SYX208OP1CC
2.0 KiB
2.0 KiB
LandveX Fas 1 — Object API (förenklad) — STATUS
Datum: 2026-07-07
Status: ✅ KLAR — server körs på port 8083
Vad som byggts
3 endpoints (som begärt)
| Endpoint | Metod | Beskrivning |
|---|---|---|
/v0/objects/{lvx_id} |
GET | Hämta objekt (klass eller modell) från SQLite-databasen |
/v0/search?q=... |
GET | Enkel fritextsökning över namn, slug och LVX-ID |
/v0/feedback |
POST | Ta emot feedback, spara till JSONL-fil |
Extra
| Endpoint | Metod | Beskrivning |
|---|---|---|
/health |
GET | Hälsokoll |
Teknik
- Python + FastAPI — inga extra dependencies utöver vad som redan fanns
- SQLite — återanvänder
landvex.dbfrån Fas 0 (landvex-produktionspaket-v1) - Uvicorn — ASGI-server på port 8083
Filstruktur
landvex-paket/api/
├── main.py # API-kod
├── run.sh # Startskript
├── server.log # Serverlogg
├── feedback/ # Feedback sparas här
│ └── feedback_YYYY-MM-DD.jsonl
└── FAS1_STATUS.md # Denna fil
Testresultat
Alla endpoints verifierade:
- ✅
GET /health— svarar{status: ok} - ✅
GET /v0/objects/LVX-ELN-0101— returnerar kabelskåp med alla fält +"typ": "klass" - ✅
GET /v0/search?q=kabel— returnerar 3 träffar (2 klasser + 1 modell) - ✅
POST /v0/feedback— sparar tillfeedback/feedback_2026-07-07.jsonl - ✅
GET /v0/objects/LVX-INTE-EXISTERAR— returnerar 404 med felmeddelande
Konfiguration
Miljövariabler (valfria, har defaultvärden):
| Variabel | Default |
|---|---|
LANDVEX_DB |
.../landvex-produktionspaket-v1/landvex.db |
LANDVEX_FEEDBACK_DIR |
./feedback |
Nästa steg (Fas 2-överväganden)
- Bounty-skapande från feedback (just nu sparas bara till fil)
- Fulltextsökning med FTS5 eller liknande
- Autentisering/API-nycklar
- Paginering på sökresultat
- CORS för webb-frontend