backend/ # node, express, multer, pdf-lib
├── annotations/ # Annotations (JSON edits)
├── crons/ # cron jobs like file cleaning
│ ├── cleaner.js
├── node_modules/
├── uploads/
│ ├── 6c609954-b604-41e9-83a6-9b8e853d6009.pdf
│ ├── 8d409954-b604-41e9-83a6-9b8e853d6009.pdf
├── utils/ # Utility functions
│ ├── fileUtils.js
│ ├── pdfUtils.js
├── .gitignore
├── .filemap.bak.json # file mapping info backup
├── filemap.json # file mapping info
├── package-lock.json
├── package.json
└── server.js # server starter
frontend/ # vite, vanilla html css js, tailwindcss, pdfjs-dist, fabric
├── editor/
│ ├── units/
│ │ ├── toolbar.js
│ │ ├── fileUpload.js
│ │ ├── state.js
│ ├── index.html
│ ├── index.css
│ ├── index.js
├── node_modules/
├── public/
│ ├── pdf.worker.min.mjs
│ ├── vite.svg
├── .gitignore
├── index.html
├── index.css
├── index.js
├── package-lock.json
├── package.json
└── vite.config.js