docs: describe implemented MVP endpoints, auth model, and run commands
This commit is contained in:
38
README.md
38
README.md
@@ -309,3 +309,41 @@ If one credit pack gives `10` base articles and sells at `$9.99`, target:
|
|||||||
## Repo status
|
## Repo status
|
||||||
|
|
||||||
This repository currently contains only `spec.md`. The README defines a concrete architecture and delivery plan you can now implement.
|
This repository currently contains only `spec.md`. The README defines a concrete architecture and delivery plan you can now implement.
|
||||||
|
|
||||||
|
## Implemented MVP (current repo)
|
||||||
|
|
||||||
|
This repository now includes a runnable MVP server and tests for core flows.
|
||||||
|
|
||||||
|
### Stack in this repo
|
||||||
|
1. Node.js HTTP server (`src/server.js`).
|
||||||
|
2. Domain modules for credits, wallet ledger, article extraction, access grants, and webhook signatures.
|
||||||
|
3. Mobile-first server-rendered UI using `daisyUI` stylesheet via CDN.
|
||||||
|
4. PWA basics (`/manifest.webmanifest`, `/sw.js`).
|
||||||
|
|
||||||
|
### Auth model in MVP
|
||||||
|
1. API auth is represented by `x-user-id` request header.
|
||||||
|
2. This is a development placeholder for future `Login with X OAuth`.
|
||||||
|
|
||||||
|
### Core endpoints
|
||||||
|
1. `POST /api/webhooks/x` -> mention webhook ingestion (HMAC verified).
|
||||||
|
2. `POST /api/webhooks/polar` -> credit top-up webhook (HMAC verified).
|
||||||
|
3. `GET /api/me/wallet` -> caller wallet balance.
|
||||||
|
4. `GET /api/jobs/:id` -> caller job status.
|
||||||
|
5. `POST /api/audio/:id/unlock` -> pay same credits and unlock permanent access.
|
||||||
|
6. `GET /audio/:id` -> playback access page (owner/grant/auth/payment states).
|
||||||
|
7. `GET /` -> mobile-first dashboard.
|
||||||
|
|
||||||
|
### Local commands
|
||||||
|
1. `npm test` -> run full test suite.
|
||||||
|
2. `npm run start` -> start server (port from `PORT`, default `3000`).
|
||||||
|
|
||||||
|
### Important environment notes
|
||||||
|
1. Credit policy is configurable via env:
|
||||||
|
- `BASE_CREDITS`
|
||||||
|
- `INCLUDED_CHARS`
|
||||||
|
- `STEP_CHARS`
|
||||||
|
- `STEP_CREDITS`
|
||||||
|
- `MAX_CHARS_PER_ARTICLE`
|
||||||
|
2. Webhook secrets:
|
||||||
|
- `X_WEBHOOK_SECRET`
|
||||||
|
- `POLAR_WEBHOOK_SECRET`
|
||||||
|
|||||||
Reference in New Issue
Block a user