https://github.com/h0neyp0t-466/pen2pdf
"๐ Pen2PDF โ AI-powered web app to transform handwritten notes, slides, PDFs & images into editable Markdown โ๏ธ โ export as polished PDFs ๐. Features drag & drop ๐ค, real-time editing โก, responsive UI ๐ฑ, and Google Gemini ๐ค integration. Perfect for students, creators & pros ๐."
https://github.com/h0neyp0t-466/pen2pdf
ai-app ai-text-extraction document-processing express file-converter google-gemini handwritten-notes javascript markdown-editor nodejs ocr pdf-converter pdf-to-markdown pdf-tools pen2pdf ppt-to-pdf react text-extraction vite web-app
Last synced: 27 days ago
JSON representation
"๐ Pen2PDF โ AI-powered web app to transform handwritten notes, slides, PDFs & images into editable Markdown โ๏ธ โ export as polished PDFs ๐. Features drag & drop ๐ค, real-time editing โก, responsive UI ๐ฑ, and Google Gemini ๐ค integration. Perfect for students, creators & pros ๐."
- Host: GitHub
- URL: https://github.com/h0neyp0t-466/pen2pdf
- Owner: H0NEYP0T-466
- License: mit
- Created: 2025-09-12T10:13:30.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2025-09-20T08:19:45.000Z (about 1 month ago)
- Last Synced: 2025-09-20T08:40:32.716Z (about 1 month ago)
- Topics: ai-app, ai-text-extraction, document-processing, express, file-converter, google-gemini, handwritten-notes, javascript, markdown-editor, nodejs, ocr, pdf-converter, pdf-to-markdown, pdf-tools, pen2pdf, ppt-to-pdf, react, text-extraction, vite, web-app
- Language: JavaScript
- Homepage: https://pen2-pdf.vercel.app
- Size: 635 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Pen2PDF













**A comprehensive productivity suite that combines AI-powered document processing, schedule management, task organization, and intelligent note-taking in one unified platform.**
Pen2PDF Suite is a modern web application that offers four powerful productivity tools: AI-powered text extraction and PDF conversion, intelligent timetable management with Excel/CSV import, comprehensive todo list management with subtasks, and smart notes generation with a searchable library - all designed to streamline your academic and professional workflow.
## ๐ Links
- [Demo](#-usage) - See the application in action
- [Documentation](#-table-of-contents) - Complete setup and usage guide
- [Issues](https://github.com/H0NEYP0T-466/Pen2PDF/issues) - Report bugs or request features
- [Contributing](CONTRIBUTING.md) - Help improve the project## ๐ Table of Contents
- [๐ Features](#-features)
- [โก Tech Stack](#-tech-stack)
- [๐ Prerequisites](#-prerequisites)
- [๐ ๏ธ Installation](#๏ธ-installation)
- [๐ป Usage](#-usage)
- [๐ Project Structure](#-project-structure)
- [๐ค Contributing](#-contributing)
- [๐ License](#-license)
- [๐ก๏ธ Security](#๏ธ-security)
- [๐ Code of Conduct](#-code-of-conduct)
- [๐บ๏ธ Roadmap](#๏ธ-roadmap)
- [๐ Acknowledgements](#-acknowledgements)## ๐ Features
### ๐ Pen2PDF - AI-Powered Document Conversion
- **๐ค AI-Powered Text Extraction**: Uses Google Gemini AI to extract text from various file formats
- **๐ Multiple File Format Support**: PDF, PPT, PPTX, PNG, JPG, WebP
- **โ๏ธ Real-time Markdown Editor**: Edit extracted text with live markdown formatting
- **๐ Professional PDF Export**: Generate high-quality PDFs with custom styling
- **๐ค Markdown Export**: Download content as markdown files
- **๐ฏ Drag & Drop Interface**: Intuitive file upload with drag-and-drop support
- **๐ Blank Document Mode**: Start with a blank document without file upload### ๐ Timetable Management
- **๐ Schedule Organization**: Create and manage your daily, weekly schedules
- **๐ Excel/CSV Import**: Import timetable data from CSV, XLSX, and XLS files
- **๐ซ Class Management**: Organize subjects, teachers, rooms, and class types (Theory/Lab)
- **โฐ Time Slot Management**: Manage class timings and daily schedules
- **๐ Bulk Operations**: Import multiple entries at once with validation
- **๐๏ธ Weekly View**: Visualize your entire week's schedule in an organized format### โ TodoList - Task Management
- **๐ Task Organization**: Create todo cards with organized task lists
- **๐ Subtask Support**: Break down complex tasks into manageable subtasks
- **๐ Priority Pinning**: Pin important subtasks for quick access
- **โ Progress Tracking**: Mark tasks and subtasks as completed
- **๐ Task Statistics**: View completion progress and task analytics
- **๐ฏ Focus Mode**: Expandable cards to focus on specific task groups### ๐ Notes Generation & Library
- **๐ค Smart Notes Creation**: AI-powered generation of study notes from uploaded files
- **๐ Notes Library**: Searchable collection of all your generated notes
- **๐ Rich Text Support**: Create and edit notes with markdown formatting
- **๐ Note Regeneration**: Retry note generation with improved prompts
- **๐พ Persistent Storage**: Save and organize notes in a dedicated library
- **๐ฏ Blank Note Creation**: Start with empty documents for manual note-taking### ๐ Universal Features
- **๐ฑ Responsive Design**: Works seamlessly on desktop and mobile devices
- **โก Fast Processing**: Efficient processing and data management
- **๐จ Modern UI**: Clean, intuitive interface with consistent design
- **๐ Local Storage**: Secure data management with MongoDB integration## โก Tech Stack
### Languages


### Frontend Frameworks & Libraries


### Backend Frameworks

### Databases

### AI & ML
### Tools & Libraries




### DevOps & Development Tools




## ๐ Prerequisites
Before you begin, ensure you have the following installed:
- **Node.js** (v16.0.0 or higher)
- **npm** (v7.0.0 or higher)
- **MongoDB** (v4.4 or higher) - For data persistence across all features
- **Google Gemini AI API Key** (for AI-powered text extraction and notes generation)## ๐ ๏ธ Installation
### 1. Clone the Repository
```bash
git clone https://github.com/H0NEYP0T-466/Pen2PDF.git
cd Pen2PDF
```### 2. Install Frontend Dependencies
```bash
npm install
```### 3. Install Backend Dependencies
```bash
cd backend
npm install
```### 4. Database Setup
Ensure MongoDB is running on your system. The application uses multiple databases:
```bash
# Start MongoDB service (varies by OS)
# macOS (with Homebrew): brew services start mongodb-community
# Ubuntu: sudo systemctl start mongod
# Windows: net start MongoDB
```The application will automatically create the following databases:
- `todolist` - For todo management data
- `timetable` - For timetable and schedule data
- `notes` - For notes and study materials### 5. Environment Setup
Create a `.env` file in the `backend` directory:
```bash
cd backend
touch .env
```Add your Google Gemini AI API key to the `.env` file:
```env
GEMINI_API_KEY=your_google_gemini_api_key_here
```### 6. Start the Development Servers
#### Backend Server (Terminal 1)
```bash
cd backend
node index.js
```#### Frontend Server (Terminal 2)
```bash
npm run dev
```The application will be available at `http://localhost:5173` (frontend) and the backend API at `http://localhost:8000`.
## ๐ป Usage
The Pen2PDF Suite provides four main productivity tools accessible from the landing page. Each tool is designed to handle specific aspects of your workflow:
### ๐ Pen2PDF - Document Conversion
1. **๐ค Upload Files**: Drag and drop or click to upload PDF, PPT, PPTX, or image files
2. **๐ Reorder Files**: Use the up/down arrows to arrange files in the desired order
3. **๐ค Extract Text**: Click "Extract All" to process files using AI text extraction
4. **โ๏ธ Edit Content**: Use the markdown editor to refine and format the extracted text
5. **๐ Export**: Download as PDF or markdown file#### File Format Support
| Format | Description | Notes |
|--------|-------------|-------|
| PDF | Portable Document Format | Supports text and image-based PDFs |
| PPT/PPTX | PowerPoint Presentations | Extract text from slides |
| PNG/JPG/WebP | Image Files | OCR text extraction from images |### ๐ Timetable Management
1. **โ Add Entries**: Create individual timetable entries with subject, teacher, room, and timing details
2. **๐ Import Data**: Upload CSV, XLSX, or XLS files with bulk timetable data
3. **๐ View Schedule**: Browse your organized weekly schedule
4. **โ๏ธ Edit Entries**: Modify existing timetable entries as needed
5. **๐๏ธ Manage Data**: Delete individual entries or clear entire schedule#### Import File Format
Your import file should contain these columns:
```
Subject Name, Teacher Name, Class Number, Class Type, Timings, Day
```### โ TodoList Management
1. **๐ Create Cards**: Add new todo cards for different projects or categories
2. **โ Add Subtasks**: Break down cards into specific actionable subtasks
3. **๐ Pin Important**: Pin high-priority subtasks for easy access
4. **โ Track Progress**: Mark subtasks as completed to monitor progress
5. **๐ View Analytics**: See completion statistics and progress overview### ๐ Notes Generation & Library
1. **๐ค Upload Content**: Upload files (PDF, PPTX, etc.) for note generation
2. **๐ค Generate Notes**: AI creates structured study notes from your content
3. **โ๏ธ Edit Notes**: Refine generated notes using the markdown editor
4. **๐พ Save to Library**: Store notes in your personal notes library
5. **๐ Browse Library**: Access and search through your saved notes collection
6. **๐ Blank Notes**: Create notes from scratch without file upload### ๐ฏ Navigation
- **๐ Landing Page**: Access all four tools from the main dashboard
- **๐ Easy Return**: Navigate back to the main menu from any tool
- **๐ฑ Mobile Friendly**: All features work seamlessly on mobile devices## ๐ Project Structure
```
Pen2PDF/
โโโ ๐ public/ # Static assets
โ โโโ favi.png # Favicon
โโโ ๐ src/ # Frontend source code
โ โโโ App.jsx # Main React application
โ โโโ App.css # Application styles
โ โโโ main.jsx # React entry point
โ โโโ index.css # Global styles
โ โโโ ๐ components/ # React components
โ โโโ ๐ LandingPage/ # Main dashboard
โ โ โโโ LandingPage.jsx
โ โ โโโ LandingPage.css
โ โโโ ๐ Notes/ # Notes generation & library
โ โ โโโ Notes.jsx
โ โ โโโ Notes.css
โ โโโ ๐ Timetable/ # Schedule management
โ โ โโโ Timetable.jsx
โ โ โโโ Timetable.css
โ โโโ ๐ TodoList/ # Task management
โ โโโ TodoList.jsx
โ โโโ TodoList.css
โโโ ๐ backend/ # Backend server
โ โโโ ๐ controller/ # Request handlers
โ โ โโโ controller.js # Pen2PDF text extraction
โ โ โโโ dbcontroller.js # TodoList management
โ โ โโโ timetableController.js # Timetable management
โ โ โโโ notesController.js # Notes management
โ โโโ ๐ model/ # Database models
โ โ โโโ todoData.js # Todo data schema
โ โ โโโ timetableData.js # Timetable data schema
โ โ โโโ notesData.js # Notes data schema
โ โโโ ๐ config/ # Database configuration
โ โ โโโ database.js # MongoDB connections
โ โโโ ๐ gemini/ # AI integration
โ โ โโโ gemini.js # Pen2PDF text extraction
โ โ โโโ notesgemini.js # Notes generation
โ โโโ index.js # Express server entry point
โ โโโ package.json # Backend dependencies
โโโ ๐ README.md # Project documentation
โโโ ๐ TIMETABLE_IMPORT_GUIDE.md # Timetable import guide
โโโ ๐ sample_timetable.csv # Example timetable format
โโโ ๐ LICENSE # MIT License
โโโ ๐ CONTRIBUTING.md # Contribution guidelines
โโโ ๐ package.json # Frontend dependencies
โโโ ๐ vite.config.js # Vite configuration
โโโ ๐ eslint.config.js # ESLint configuration
โโโ ๐ index.html # HTML template
```## ๐ค Contributing
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on:
- ๐ง Setting up the development environment
- ๐ Code style and formatting requirements
- ๐งช Testing procedures
- ๐ Submitting pull requests
- ๐ Reporting bugs
- ๐ก Requesting features## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ก๏ธ Security
We take security seriously. If you discover a security vulnerability, please see our [Security Policy](SECURITY.md) for information on how to report it responsibly.
## ๐ Code of Conduct
This project follows the Contributor Covenant Code of Conduct. Please read our [Code of Conduct](CODE_OF_CONDUCT.md) to understand the expected behavior when participating in our community.
## ๐บ๏ธ Roadmap
### โ Current Features
- **๐ Pen2PDF**: AI-powered text extraction using Google Gemini from multiple file formats
- **๐ Timetable**: Complete schedule management with Excel/CSV import functionality
- **โ TodoList**: Task management with subtasks, pinning, and progress tracking
- **๐ Notes**: AI-powered notes generation and searchable notes library
- **๐จ Unified Interface**: Consistent design across all productivity tools
- **๐ฑ Responsive Design**: Full mobile and desktop compatibility
- **๐ Data Persistence**: MongoDB integration for all features### ๐ง In Development
- **๐ Cross-feature Integration**: Link notes to specific timetable subjects and todo tasks
- **๐ Analytics Dashboard**: Usage statistics and productivity insights across all tools
- **๐ฏ Smart Suggestions**: AI-powered recommendations based on usage patterns
- **๐ Global Search**: Search across all notes, todos, and timetable entries
- **๐ Calendar Integration**: Sync timetable with external calendar applications### ๐ฎ Future Vision
- **โ๏ธ Cloud Sync**: Multi-device synchronization and backup
- **๐ฅ Collaboration**: Share timetables, notes, and todo lists with team members
- **๐ฑ Mobile Apps**: Native iOS and Android applications
- **๐ API Integrations**: Connect with popular productivity and educational tools
- **๐ Academic Features**: GPA tracking, assignment deadlines, exam scheduling
- **๐ค Advanced AI**: Multi-provider AI support (OpenAI, Claude, etc.)
- **๐ Progress Analytics**: Detailed productivity metrics and goal tracking
- **๐จ Customization**: Themes, templates, and personalized workflows## ๐ Acknowledgements
- **Google Gemini AI** - Powering our intelligent text extraction
- **React Team** - For the amazing frontend framework
- **Vite** - For blazing fast development experience
- **html2pdf.js** - For client-side PDF generation
- **Marked** - For markdown parsing and rendering
- **Express.js** - For robust backend API development---
**Made with โค๏ธ by [H0NEYP0T-466](https://github.com/H0NEYP0T-466)**