prometheus/README.md

39 lines
1.4 KiB
Markdown
Raw Normal View History

# Prometheus
The service behind `prometheus.x` — a standalone website that accepts app
listings, scans the binaries, generates APS1 records for publishers to sign,
and serves the browse pages.
The architecture decisions and the reasoning behind them live at
[`_coordination/sessions/prometheus-x-architecture.md`](../_coordination/sessions/prometheus-x-architecture.md).
Read that before touching the code; it answers the questions this directory
otherwise invites ("why isn't this on Sia?", "why isn't the admin on another
subdomain?", "why Node?").
```
service/ Node HTTP server, templates, scanner, storage, payments
public/ Static assets served under /static/
content/ Prose content in a form the templates render into pages
```
## Run it locally
```bash
cd Prometheus
npm install # none yet; placeholder for when deps show up
node service/server.js
```
Opens on `http://127.0.0.1:3700` by default. Override with `PORT=xxxx`.
## Layout
The server is one `node:http` listener behind a trivial map-based router.
Pages are plain functions that return `{title, description, body}` and
`layout()` wraps them in the common document shell. Static files under
`public/` are served directly.
There's no framework and no templating engine on purpose — a site this
small does not earn a dependency surface, and the response-rendering path
is short enough to read at a glance.