Files
0pt/README.md
T

61 lines
3.2 KiB
Markdown

# 0pt — your data
Data services on demand for the Nordics + Europe. Compose a data job, pay 50 % to start,
watch production live, validate with full provenance, deliver anywhere. Owned by **SIAX
Technology AB**. Honest accuracy is the moat: every field carries source, freshness and
confidence; nothing is guessed.
**Live:** https://0pt.app · **Contract:** [`CLAUDE.md`](CLAUDE.md) + [`docs/`](docs/)
## Two planes (see [docs/02-architecture.md](docs/02-architecture.md))
- **Edge (Vercel, this app)** — marketing, catalog, the order lifecycle, customer portal,
admin portal, and the API route handlers. Defers to the data engine when `ENGINE_URL` is set.
- **Engine (`services/api`, runs on a VPS)** — FastAPI orchestrator + worker pipeline doing
the **compliant** sourcing (official API → bulk → authorized web → licensed → else level 0).
Never on Vercel (long jobs). Bypass/stealth/proxy-rotation/fake-account paths are excluded
by design (CLAUDE.md §1).
## Routes
| Area | Routes |
|---|---|
| Marketing | `/` (hero, filosofi, katalog, motorn, visualiseringar, täckning, editorial, bevis, priser, footer) |
| Catalog | `/katalog`, `/katalog/[id]` |
| Sourcing map | `/kallor` |
| Order lifecycle | `/bestall` → `/bestall/forskott` → `/order/[id]` → `/order/[id]/validera` |
| Customer portal | `/portal`, `/portal/subscriptions`, `/portal/files`, `/portal/integrationer`, `/portal/settings` |
| Admin portal | `/admin`, `/admin/sources`, `/admin/jobs`, `/admin/customers` |
| API | `/api/{health,estimates,catalog,sources,orders,orders/[id],subscriptions,admin/metrics,uploads,auth/*,payments/*,webhooks/stripe,connections/db-grant}` |
## Design system
Mono/editorial, light, radius 0, Inter + JetBrains Mono, single red `#e40014`, animated grain,
scroll-reveal motion. **No photography** — imagery is rendered data (`DataArtifact`). Every fact
shows a provenance square (`ProvenanceBadge`). Full spec: [docs/05-design-system.md](docs/05-design-system.md).
## Run locally
```bash
pnpm install
pnpm dev # Next.js on http://localhost:3000
# data engine (separate, optional)
cd services/api && pip install -r requirements.txt && uvicorn orchestrator.main:app --reload
```
## Deploy
- **Frontend** → Vercel (project `0pt`, scope *Simon Axelsson's projects*), domain `0pt.app`.
- **Engine + DB + embeds** → one VPS via [`infra/docker-compose.yml`](infra/docker-compose.yml) (Postgres+pgvector, Redis, api, worker, NocoDB, Metabase, Caddy).
- Env inventory: [`.env.example`](.env.example).
## Status
Frontend, full order lifecycle, customer + admin portals, edge API, payment/auth/embed
infrastructure, the compliant data engine, schema and infra are all in place and building green.
Integrations are env-guarded and activate when their keys/DB are provided:
1. **Database** — Vercel → Storage → Postgres (sets `POSTGRES_URL`) → durable persistence (schema in [`sql/001_init.sql`](sql/001_init.sql)).
2. **Stripe + Resend** keys → payments + email.
3. **VPS** for the engine → set `ENGINE_URL`.
4. **`AUTH_SECRET` + `DEV_LOGIN_KEY`** → login (full OAuth via Auth.js lands with the DB).
© 2026 SIAX Technology AB. Not affiliated with Protosell.