Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
An interactive web timeline for organizing modern history (1850–2000) as periods, events, and the flows that connect them.
A personal study tool for IB History. Instead of keeping notes as a flat list, periods and events are laid out on a zoomable horizontal timeline so that overlaps, sequences, and cause-and-effect chains are visible at a glance. The UI is in Korean.Read the full README ↗An interactive web timeline for organizing modern history (1850–2000) as periods, events, and the flows that connect them.
A personal study tool for IB History. Instead of keeping notes as a flat list, periods and events are laid out on a zoomable horizontal timeline so that overlaps, sequences, and cause-and-effect chains are visible at a glance. The UI is in Korean.
index.html, styles.css, app.js); timeline rendered with SVGserver.js)mysql2 (db/client.js, db/schema.sql)Requirements: Node.js and a MariaDB database you can create tables in.
npm ci
cp .env.example .env # then set DATABASE_URL for your local database
npm run db:migrate # applies db/schema.sql
npm run dev # node --watch server.js
The app listens on http://127.0.0.1:3000 by default (HOST and PORT can be set in .env).
Other scripts:
npm run build — checks that the required files exist and that the JavaScript files parsenpm run test:integration — runs tests/integration.js against a running serverThe production instance runs on a Raspberry Pi next to its MariaDB server:
deploy/history-timeline.service — systemd unit that runs server.js with environment from .env, after mariadb.servicedeploy/nginx-wiki.conf — Nginx reverse proxy to 127.0.0.1:3000, both as history.baecha.xyz and under the /history/ path of the wiki hostrender.yaml defines no services)Updating a deployment:
npm ci
npm run db:migrate
sudo systemctl restart history-timeline
curl http://127.0.0.1:3000/api/health
The backend was migrated from Neon PostgreSQL to MariaDB; see docs/neon-to-mariadb-migration.md.
Active on the main timeline view when no dialog is open and no input field is focused:
| Shortcut | Action |
|---|---|
Alt+1 | Add a period |
Alt+2 | Add an event |
Alt+3 | Add a flow |
is_deleted). A workspace_state.version counter increases on every write so clients can skip reloading when nothing has changed.localStorage): session token, theme, hidden categories, a cached copy of the workspace, and the queue of pending offline changes.DATABASE_URL is required; the server will not start without it. Keep real credentials only in .env, which is git-ignored (.env.example is the only committed template)..env are not served by default, but do not place other secrets in the project directory.