corpus

Log | Files | Refs | README | LICENSE

commit 9dfaa892efce32fd26b4da883cb602b05d547dad
parent 31c8243c27a5c3093a8fb1192b50b3ae011a740d
Author: mtmn <miro@haravara.org>
Date:   Sat, 11 Apr 2026 07:11:31 +0200

chore: remove node-sqlite3 dependency

Diffstat:
AREADME.md | 32++++++++++++++++++++++++++++++++
Adocs/korpus.webp | 0
Mspago.yaml | 1-
3 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md @@ -0,0 +1,32 @@ +# Scorpus + +<div align="right"> + <img src="docs/korpus.webp" width="50%" alt="Korpus"> +</div> + +Scorpus is a ListenBrainz frontend built with PureScript that provides server-side rendering and client-side interactivity using Halogen. It enables music listening tracking with DuckDB/SQLite storage and S3 integration for data management. + +--- + +## Architecture + +### Client-Side (Browser) + +- **Halogen** — Component-based UI framework for declarative, reactive interfaces +- **Affjax / Fetch** — HTTP client for API communication with the backend +- **Argonaut** — JSON encoding/decoding for structured data exchange +- **Web HTML / DOM** — Low-level browser API bindings for direct DOM manipulation + +### Server-Side (Node.js) + +- **Node HTTP** — Built-in Node.js HTTP server for request handling +- **DuckDB / SQLite3** — Embedded analytical and transactional databases for music listening data +- **AWS S3 SDK** — Object storage integration for large-scale data export/import +- **Environment Config** — Dotenv-based configuration management + +### Shared + +- **PureScript 0.15** — Strongly-typed functional language compiled to JavaScript +- **Esbuild** — Fast bundler producing both server (Node ESM) and client (browser) bundles +- **Spago** — PureScript package manager and build tool +- **Argonaut Core** — Shared JSON serialization layer across client and server diff --git a/docs/korpus.webp b/docs/korpus.webp Binary files differ. diff --git a/spago.yaml b/spago.yaml @@ -26,7 +26,6 @@ package: - node-http - node-net - node-process - - node-sqlite3 - node-streams - node-url - now