Paperjet/frontend
Elijah 4569dea864
Some checks failed
CI / Backend (Python) (push) Failing after 27s
CI / Frontend (TypeScript) (push) Successful in 14s
CI / Container (Docker) (push) Has been skipped
Implement Paperjet updates
2026-08-15 14:08:24 -07:00
..
public Initial commit with Phase 0 Scaffolding 2026-06-10 18:28:17 -07:00
src Implement Paperjet updates 2026-08-15 14:08:24 -07:00
.gitignore Initial commit with Phase 0 Scaffolding 2026-06-10 18:28:17 -07:00
.npmrc Phase 3 implementation. Coordinate system implemented. Initial text box tool implemented. 2026-06-12 16:30:07 -07:00
eslint.config.js Initial commit with Phase 0 Scaffolding 2026-06-10 18:28:17 -07:00
index.html Initial commit with Phase 0 Scaffolding 2026-06-10 18:28:17 -07:00
nginx.conf Consolidate Docker deployment into a single PaperJet container 2026-08-15 11:07:59 -07:00
openapi.json Phase 3 implementation. Coordinate system implemented. Initial text box tool implemented. 2026-06-12 16:30:07 -07:00
package-lock.json Implement Paperjet updates 2026-08-15 14:08:24 -07:00
package.json Implement Paperjet updates 2026-08-15 14:08:24 -07:00
README.md Rescue Paperjet v1 implementation 2026-08-14 21:05:22 -07:00
tsconfig.app.json Phase 3 implementation. Coordinate system implemented. Initial text box tool implemented. 2026-06-12 16:30:07 -07:00
tsconfig.json Initial commit with Phase 0 Scaffolding 2026-06-10 18:28:17 -07:00
tsconfig.node.json Initial commit with Phase 0 Scaffolding 2026-06-10 18:28:17 -07:00
vite.config.ts Fix bugs, convert thumbnail to png, add context menu 2026-06-10 19:06:28 -07:00
vitest.config.ts Initial commit with Phase 0 Scaffolding 2026-06-10 18:28:17 -07:00

PaperJet frontend

This directory contains the React/Vite client for PaperJet. Run the full stack from the repository root; the root README has Docker and local development instructions.

Useful commands

npm ci
npm run dev       # Vite with /api proxied to localhost:8000
npm test -- --run
npm run typecheck
npm run lint
npm run build

The editor renders PDF pages with PDF.js and uses Fabric.js for the annotation layer. Annotation state is persisted through the backend API; the browser does not write PDF bytes directly.