Skip to content

โšก Pen2PDF Suite โ€“ an all-in-one productivity platform โœจ with ๐Ÿค– AI-powered text extraction & ๐Ÿ“„ PDF conversion, ๐Ÿ“… timetable scheduling (CSV/Excel import), โœ… smart todo management, and ๐Ÿง  AI-driven notes library. Built with โš›๏ธ React, ๐ŸŸฉ Node.js, ๐Ÿƒ MongoDB & ๐ŸŒ Google Gemini to streamline tasks.

License

Notifications You must be signed in to change notification settings

H0NEYP0T-466/Pen2PDF

๐Ÿ“ Pen2PDF

GitHub License
GitHub Stars
GitHub Forks
GitHub Issues
GitHub Pull Requests
Contributions Welcome

Last Commit
Commit Activity
Repo Size
Code Size

Top Language
Languages Count

Documentation
Open Source Love

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

๐Ÿ“š Table of Contents

๐Ÿš€ 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

JavaScript HTML5 CSS3

Frontend Frameworks & Libraries

React Vite React Router

Backend Frameworks

Express.js Node.js

Databases

MongoDB Mongoose

AI & ML

Google Gemini

Tools & Libraries

Axios Marked html2pdf.js Papa Parse XLSX

DevOps & Development Tools

ESLint Git GitHub npm Dotenv

๐Ÿ“‹ 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

git clone https://github.com/H0NEYP0T-466/Pen2PDF.git
cd Pen2PDF

2. Install Frontend Dependencies

npm install

3. Install Backend Dependencies

cd backend
npm install

4. Database Setup

Ensure MongoDB is running on your system. The application uses multiple databases:

# 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:

cd backend
touch .env

Add your Google Gemini AI API key to the .env file:

GEMINI_API_KEY=your_google_gemini_api_key_here

6. Start the Development Servers

Backend Server (Terminal 1)

cd backend
node index.js

Frontend Server (Terminal 2)

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 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 file for details.

๐Ÿ›ก๏ธ Security

We take security seriously. If you discover a security vulnerability, please see our Security Policy 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 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

About

โšก Pen2PDF Suite โ€“ an all-in-one productivity platform โœจ with ๐Ÿค– AI-powered text extraction & ๐Ÿ“„ PDF conversion, ๐Ÿ“… timetable scheduling (CSV/Excel import), โœ… smart todo management, and ๐Ÿง  AI-driven notes library. Built with โš›๏ธ React, ๐ŸŸฉ Node.js, ๐Ÿƒ MongoDB & ๐ŸŒ Google Gemini to streamline tasks.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •