A high-performance web application designed for students at Daffodil International University to streamline the generation of standardized academic documentation โ featuring a local REST API backend for intelligent faculty data management.
- ๐ฆ Intelligent Templating: Dynamic generation of DIU-standard cover pages for Assignments, Lab Reports, Lab Tasks, Presentations (supporting Multi-Student groups up to 8 members), and Quizzes, featuring custom document-specific evaluation metrics and scalable multi-line criteria tables.
- ๐ง Client-Side Processing: Leveraging the power of the browser for PDF synthesisโensuring zero latency and maximum privacy.
- ๐ฉ Fluid UX: Modern, responsive interface with adaptive light/dark theming and smooth micro-interactions.
- ๐ช Advanced Asset Handling: Drag-and-drop orchestration with support for multi-format merging (Images & PDFs).
- ๐ซ Native PDF Compression: Built-in, on-demand document compression to optimize image assets directly in-browser.
- ๐งฎ Professional CGPA Calculator: Comprehensive DIU-standard (4.00 scale) calculator with real-time cumulative tracking.
- ๐ PDF Transcript Export: Generate and download professional, organized PDF reports of academic calculations with one click.
- ๐จ AI Academic Analysis: Integrated "Copy-Paste" analysis workflow supporting Gemini, Claude, ChatGPT, and DeepSeek.
- ๐ฆ Attendance Guardian: Automatic, DIU-standard 75% threshold planning and skip-limit simulation for semesters.
- ๐ PWA & Offline Support: Full Progressive Web App implementation with optimized v3.9 "Instant Load" engine and 100% offline reliability.
- ๐ฅ Real-time Preview: High-fidelity document rendering before final export.
- ๐ฅ๏ธ Local Faculty API: Lightweight Node.js/Express backend server that serves DIU faculty data as a REST API, enabling dynamic teacher name autocomplete with intelligent fallback support.
| Layer | Technology | Role |
|---|---|---|
| Frontend | Core UI & Logic | |
| Backend | Local REST API for Faculty Data | |
| PDF Engine | pdf-lib & pdf.js | PDF synthesis and content extraction |
| Neural OCR | Tesseract.js | Client-side neural text extraction (Image-to-Text) |
| Doc Processing | Mammoth.js & JSZip | Word and PowerPoint structure parsing |
| Data Engine | SheetJS & jsPDF-AutoTable | Excel parsing and high-fidelity table generation |
| Design | Inter Font & FontAwesome | Typography & Iconography |
DIU PDF BOX uses a hybrid architecture: all document processing and PDF synthesis remain privacy-first and client-side, while a lightweight local backend optionally serves faculty data via a REST API.
- Metadata Injection: Form data is mapped to high-resolution coordinate planes on standardized DIU templates.
- Asset Buffer Management: Uploaded images and PDFs are converted to ArrayBuffers for unified processing.
- Neural Text Extraction: Tesseract.js (WASM) workers process images locally to extract editable academic text.
- PDF Synthesis: The
pdf-libengine merges the generated cover page with user assets into a single document stream. - Blob Orchestration: The final document is served via an ephemeral Blob URL for instant preview and download.
- AI Integration: A dedicated "Copy-Paste" lane provides pre-optimized prompts for third-party AI services.
- Local Persistence Engine: Student course data and grades are synchronized with browser
localStoragefor cross-session availability. - Automated Compliance Logic: A dedicated module for DIU attendance compliance (75% rule) with real-time goal planning.
- Edge Caching: PWA service workers (v3.9) handle navigation with a 2nd fast-fallback for 100% offline reliability.
- Local Faculty API: A Node.js/Express server (
backend/server.js) exposesGET /api/facultyandGET /api/faculty/search?q=<name>endpoints. The frontend fetches from this API with a 2-second timeout and silently falls back to static data if the server is not running.
The project includes a minimal local REST API built with Node.js and Express, serving the DIU faculty directory to the frontend autocomplete feature.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/faculty |
Returns the full list of all DIU faculty members |
GET |
/api/faculty/search?q=<name> |
Returns faculty filtered by the given name query |
[
{ "name": "Dr. Imran Mahmud", "designation": "Professor & Head" },
{ "name": "Mr. Md. Khaled Sohel", "designation": "Assistant Professor" }
]The frontend is designed to be resilient. If the local API server is not running, the app automatically falls back to the static js/faculty_data.js file. The application never breaks regardless of whether the backend is active.
# Clone the repository
git clone https://github.com/shejanahmmed/DIU-PDF-BOX.git
# Navigate to the project directory
cd DIU-PDF-BOX
# Serve using any local web server (e.g., Live Server in VS Code)To enable the live Faculty API, start the backend server alongside your frontend:
# Step 1: Navigate to the backend directory
cd DIU-PDF-BOX/backend
# Step 2: Install dependencies (only required once)
npm install
# Step 3: Start the local API server
node server.jsThe server will start on http://localhost:3000. You should see:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DIU PDF BOX - Faculty API Server โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ Running on: http://localhost:3000 โ
โ Endpoint: /api/faculty โ
โ Search: /api/faculty/search?q=<name> โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ Press Ctrl+C to stop the server โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Once running, open your browser console and you will see:
[DIU PDF BOX API] Faculty data loaded from local backend. (128 members)
DIU-PDF-BOX/
โโโ backend/ # ๐ฅ๏ธ Local Node.js API Server
โ โโโ data/
โ โ โโโ faculty.json # Faculty data source (JSON)
โ โโโ server.js # Express API server
โ โโโ package.json # Node.js dependencies
โโโ css/
โ โโโ style.css
โโโ js/
โ โโโ app.js # Core PDF logic + API fetch
โ โโโ faculty_data.js # Static fallback faculty data
โ โโโ cgpa.js
โ โโโ attendance.js
โ โโโ navigation.js
โโโ Logos/
โโโ index.html
โโโ cgpa.html
โโโ attendance.html
โโโ analyze.html
โโโ about.html
โโโ how-it-works.html
โโโ manifest.json
โโโ service-worker.js
Farjan Ahmmed (Shejan)
Software Engineering Student @ Daffodil International University
๐ Dhaka, Bangladesh
This project is licensed under the MIT License.
Live version available at: https://shejanahmmed.github.io/DIU-PDF-BOX/