Lightweight collaborative document editor inspired by Google Docs — scoped for a focused product slice: create/edit with rich text, import files, share with teammates, and persist across refresh.
| Name | Password | |
|---|---|---|
alice@ajaia.dev |
Alice Chen | password123 |
bob@ajaia.dev |
Bob Rivera | password123 |
cara@ajaia.dev |
Cara Nguyen | password123 |
Alice owns a seeded welcome doc already shared with Bob.
See LIVE_URL.txt (filled after deploy). Deploy steps: DEPLOY.md.
Requirements: Node.js 20+ and npm.
cp .env.example .env
npm install
npm run db:setup
npm run devOpen http://localhost:3000.
| Command | Purpose |
|---|---|
npm run dev |
Local development server |
npm run build / npm start |
Production build + serve |
npm run db:setup |
Create SQLite schema and seed users |
npm test |
Run automated tests |
- Create, rename, edit, auto-save, reopen documents
- Rich text: bold, italic, underline, H1/H2, bullet/numbered lists
- Import
.txt,.md,.docx(max 2 MB) into a new document - Attach a file to an existing document (optional content import)
- Share by email with another seeded user; owned vs shared lists
- SQLite persistence for documents, shares, and attachment metadata
Allowed: .txt, .md, .docx
Not supported: .doc, .pdf, images, and other binaries (stated in the UI)
docker build -t lodestar-docs .
docker run --rm -p 3000:3000 -e AUTH_SECRET="replace-with-long-secret" lodestar-docs- No real-time multiplayer cursors or OT/CRDT sync
- Sharing is binary access (no viewer/commenter roles)
- Attachment binaries stored on local disk (
uploads/), not object storage - No version history, comments, or export-to-PDF
- Postgres + object storage for durable multi-instance deploy
- Presence / last-edited-by indicators
- Markdown export and share-link invites for non-seeded emails