A full-stack PDF processing application that allows users to:
- Upload a PDF file
- Preview all pages visually
- Select specific pages
- Reorder selected pages
- Extract selected pages into a new PDF
- Download the newly created PDF
- Frontend: Hosted on Vercel
- Backend: Hosted on AWS (Node.js + Express)
- React + TypeScript
- Vite
- Tailwind CSS
- Axios
- pdfjs-dist
- dnd-kit (Drag & Drop)
- react-hot-toast
- Node.js
- Express
- Multer
- pdf-lib
- Zod (Validation)
- dotenv
- CORS
- Drag & drop supported
- Validates file type (PDF only)
- Backend validation using Multer + Zod
- Uses
pdfjs-distto render PDF pages - Fully responsive preview
- Works on desktop and mobile
- Users can select pages using checkboxes
- Selected pages are highlighted
- Selected pages can be reordered using drag & drop
- Uses
@dnd-kit
- Backend extracts selected pages using
pdf-lib - Maintains selected order
- Generates a new PDF file
- Download link provided