Files
study-bible-project/TODO.md
nmemmertandClaude Sonnet 5.5 3ee1535c87 Real-browser tests (Playwright) and housekeeping
- npm run test:e2e builds the app, runs it on port 3101 with an empty throwaway
  database and drives Chrome (the installed one; no browser download) through
  notes and the paste check, the daily five minutes and weekly recall,
  translation compare (Bible text faked), and two-screen presenting.
- Vitest skips e2e/; ESLint knows the e2e folder and playwright.config.js.
- .gitignore: the local demo video, Playwright output and sign-in file.
- README and TODO describe the browser tests and what CI still needs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 14:00:15 -04:00

2.2 KiB

To do

Ideas for the app that haven't been built yet, roughly in the order I'd do them. Tick one off when it ships.

Running it and keeping it safe

  • Email (SMTP). A mail setting for password resets and invite links, so they don't depend on the ntfy topic. Also lets a co-teacher get their invite by email. Needs a SMTP_URL-style setting and a fallback to today's behaviour.
  • Passkeys and a device list. Sign in with Face ID or a fingerprint (WebAuthn); show where you're signed in with "sign out other devices"; optionally a login alert through ntfy.
  • Server health page for the admin. Last backup, disk use, failed notifications, recent sign-in failures, and a "restore a snapshot" button (snapshots already exist under DATA_DIR/backups).
  • Checks on every push. Run npm run test:run, npm run lint and npm run test:e2e on the Gitea server for every push. The real-browser tests now exist (e2e/, run by hand); what's left is running them automatically, and adding sign-in and cross-device sync to them.
  • Split server/index.js into one file per area (server/routes/: auth, account, projects, reader, sharing, admin).

Teaching together

  • Comments between co-teachers. Notes on a chunk addressed to the other person, instead of editing each other's text.
  • Live updates and "who's here". A co-teacher's changes appear within seconds, with a marker like "Sam is on chunk 3" (server-sent events or short polling). Today changes arrive when the tab regains focus or every couple of minutes.
  • Ask Claude inside the app. Draft discussion questions, tighten an outline point, summarise notes, using the owner's own API key kept on the server. The Claude prompts today are copy-and-paste.

Reading

  • Read-aloud with highlighting. The device's voice reads the chapter and the verse being read is highlighted; useful for the BSB and NET, which have no audio.
  • Cross-reference map. A picture of the links between chapters, from IQ Bible's reference graph (needs the IQ Bible key).

Decided against, for now

  • Scripture memory (verse practice with spaced review).
  • Extra-biblical books (Enoch, Maccabees) and non-standard canons.