Inspiration

  • Enterprise document workflows are often fragmented: upload → convert → split/merge → sign → protect across many tools, costing time and causing errors.
  • Foxit PDF SDK provides powerful PDF capabilities that, combined with a modern web stack, can automate much of this pipeline.
  • The hackathon is a chance to ship an end‑to‑end MVP quickly, validate the value, and shape the expansion roadmap.

What it does

  • Document management: sign in, upload, store, list, delete.
  • PDF operations (MVP): optimize/compress, extract text, split pages, password protect.
  • REST API and React UI work together; files are stored in uploads/ and served statically so the frontend can access them.
  • Built to extend: e‑signatures, merge, Office → PDF conversion, search and tagging.

How we built it

  • Backend: Node.js/Express, MongoDB Atlas, JWT, Multer; Foxit logic wrapped in a service layer and exposed via /api/documents routes.
  • Frontend: React + React Router, Axios, Tailwind; DocumentList calls real GET/DELETE APIs with Authorization headers.
  • Static uploads: Express serves /uploads, and we normalize file paths to read/write files safely.
  • Dev setup: .env, scripts; local runtime: backend :5001, frontend :3000.

Challenges we ran into

  • URL vs filesystem path mismatches when reading PDFs; fixed by normalizing fileUrl (strip leading slash) and using safe path.join.
  • Wiring Multer + static serving so the frontend can access newly uploaded files.
  • Keeping auth headers/CORS in sync; minor CRA script adjustments.
  • Limited hackathon time for deeper Foxit integrations.

Accomplishments that we're proud of

  • End‑to‑end upload flow, document CRUD, and key PDF actions (optimize, extract text, split, protect).
  • The frontend DocumentList consumes real APIs and handles deletion smoothly; the codebase is clean and extendable.
  • Both servers run reliably; file paths are standardized and /uploads is served safely.

What we learned

  • File safety (URL vs filesystem) is critical for document‑processing apps.
  • Designing PDF jobs benefits from queues/progress tracking for scalability.
  • Checklists and documentation help avoid last‑minute submission issues.

What's next for Docu Chain

  • E‑signatures via Foxit SDK; merge and Office → PDF conversion.
  • PDF viewer integration (react‑pdf/pdf.js) for in‑app preview.
  • Search, filters, tagging; drag & drop upload; audit logs.
  • Cloud demo deployment (FE/BE), test account, and quickstart guide.
  • Performance & security: caching, job queues (Bull/Redis), rate limiting.

Credentials

U: demo@example.com P: 123456

Attentions

  • I faced some problems with Foxit API, need support fix later.

Built With

Share this project:

Updates