No description
  • TypeScript 82.8%
  • HTML 9.3%
  • Python 3.3%
  • Just 2.2%
  • Dockerfile 1.6%
  • Other 0.8%
Find a file
Kim Yongbeom 78ac85705b
All checks were successful
Deploy / deploy-production (push) Successful in 31s
Deploy / deploy-staging (push) Has been skipped
CI / merge-check (pull_request) Successful in 1m13s
feat: ci setup 4
2026-06-21 23:37:36 +08:00
.forgejo/workflows feat: ci setup 3 2026-06-21 23:31:15 +08:00
docs feat: ci setup 1 2026-06-21 23:10:33 +08:00
services feat: fix some issues 2026-06-16 22:56:28 +08:00
.env.example feat: ci setup 3 2026-06-21 23:31:15 +08:00
.gitignore add merge-check CI workflow 2026-06-14 23:44:24 +08:00
.node-version feat: scaffold web service 2026-06-14 09:55:54 +08:00
compose.yaml feat: ci setup 4 2026-06-21 23:37:36 +08:00
Justfile feat: ci setup 3 2026-06-21 23:31:15 +08:00
LAWNET_API_REFERENCE.md feat: complete API refernce 2026-06-13 13:32:35 +08:00
README.md add forgejo ci workflow for PR checks (fix: use apt-get for just) 2026-06-14 13:11:18 +08:00

LawNet Scraper

Searchable catalog and ingestion pipeline for Singapore judgments published by LawNet OpenLaw and eLitigation.

Prerequisites

  • Docker with Compose v2
  • just
  • uv
  • fnm
  • pnpm 10

The web package is pinned to Node.js 22 through .node-version:

fnm use --install-if-missing
corepack enable

Local Setup

cp .env.example .env
just up

The public web service is available only at http://127.0.0.1:3406. PostgreSQL, Flyway, the scheduler, and the worker do not publish host ports.

just down stops the stack without deleting the named PostgreSQL volume.

Verification

just check-compose
just lint
just typecheck
just test

The data-ingest application is intentionally limited to printing Hello world in Phase 1. Compose keeps the scheduler and worker placeholders alive and probes their PostgreSQL and network access; queue and scheduling behavior arrives in Phase 3.

Common Commands

just logs
just logs web
just migrate
just build
just down

The values in .env.example are development-only. When changing PostgreSQL credentials, update DATABASE_URL to match.