A powerful, user-friendly web application for all your PDF manipulation needs. Built with modern technologies for a seamless experience.
🌐 Live Demo • 🚀 Features • ⚡ Quick Start • 🛠️ Tech Stack • 🏗️ Architecture
Try PDFY now: https://pdfly-alpha.vercel.app/
Experience all features in action:
- ✅ Upload and preview PDF files
- ✅ Merge multiple documents
- ✅ Split large PDFs
- ✅ Remove or extract specific pages
- ✅ Convert images to PDF
- ✅ Compress files for web
📸 Screenshots will be added here
- 🔗 Merge PDFs - Combine multiple PDF files into one
- ✂️ Split PDFs - Break down large PDFs into smaller files
- 🗑️ Remove Pages - Delete unwanted pages from your PDFs
- 📤 Extract Pages - Pull out specific pages to create new documents
- 🖼️ JPG to PDF - Convert images to PDF format
- 📉 Compress PDFs - Reduce file size while maintaining quality
- 🔄 Convert PDFs - Transform PDFs to different formats
- 🎨 Modern UI - Beautiful, responsive design with Tailwind CSS
- 🌙 Dark/Light Mode - Theme toggle for comfortable viewing
- 📱 Mobile Responsive - Works seamlessly on all devices
- ⚡ Real-time Preview - Live PDF preview with page navigation
- 🔒 Secure Authentication - User accounts with Supabase Auth
- 📊 Dashboard - Personalized user dashboard
- ⚡ Lightning Fast - Built with Vite for optimal performance
- 🔧 Type Safe - Full TypeScript implementation
- 🎯 Component Library - Radix UI + shadcn/ui components
- 🚀 Modern Stack - Latest React 18 with concurrent features
- 📱 PWA Ready - Progressive Web App capabilities
Try PDFY now: https://pdfly-alpha.vercel.app/
Experience all features in action:
- ✅ Upload and preview PDF files
- ✅ Merge multiple documents
- ✅ Split large PDFs
- ✅ Remove or extract specific pages
- ✅ Convert images to PDF
- ✅ Compress files for web
Make sure you have the following installed:
- Node.js (v18 or higher) - Download here
- npm or yarn - Comes with Node.js
- Git - Download here
# 1️⃣ Clone the repository
git clone https://github.com/your-username/pdfy.git
cd pdfy
# 2️⃣ Install dependencies for both client and server
cd client && npm install
cd ../server && npm install
# 3️⃣ Set up environment variables
cd ../client
cp .env.example .env
# Edit .env with your Supabase credentials
# 4️⃣ Start the development servers
# Terminal 1: Client (Frontend)
cd client && npm run dev
# Terminal 2: Server (Backend)
cd server && npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
| Technology | Version | Purpose |
|---|---|---|
| ⚛️ React | 18.3.1 | UI Framework |
| 🔷 TypeScript | 5.5.3 | Type Safety |
| ⚡ Vite | 7.0.3 | Build Tool |
| 🎨 Tailwind CSS | 3.4.11 | Styling |
| 🧩 Radix UI | Latest | Headless Components |
| 📄 React-PDF | 10.0.1 | PDF Rendering |
| 🔍 React Query | 5.56.2 | State Management |
| 🛣️ React Router | Latest | Navigation |
| Technology | Purpose |
|---|---|
| 🟢 Node.js | Runtime Environment |
| 🚀 Express.js | Web Framework |
| 🗄️ Supabase | Database & Auth |
| 📄 PDF-lib | PDF Manipulation |
- 📝 ESLint - Code Linting
- 🎯 Prettier - Code Formatting
- 🔧 TypeScript - Static Type Checking
- 🧪 Vitest - Unit Testing
PDFY/
├── 📁 client/ # React Frontend Application
│ ├── 📁 src/
│ │ ├── 📁 components/ # Reusable UI Components
│ │ ├── 📁 pages/ # Route Components
│ │ ├── 📁 contexts/ # React Contexts
│ │ ├── 📁 hooks/ # Custom Hooks
│ │ ├── 📁 services/ # API Services
│ │ └── 📁 utils/ # Utility Functions
│ ├── 📁 public/ # Static Assets
│ └── ⚙️ vite.config.ts # Vite Configuration
│
├── 📁 server/ # Node.js Backend API
│ ├── 📁 controllers/ # Request Handlers
│ ├── 📁 routes/ # API Routes
│ ├── 📁 middlewares/ # Custom Middleware
│ └── 📁 utils/ # Server Utilities
│
├── 📁 supabase/ # Database & Auth
│ ├── 📁 functions/ # Edge Functions
│ └── 📁 migrations/ # Database Migrations
│
└── 📄 README.md # This File
Create a .env file in the client directory:
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
# API Configuration
VITE_API_BASE_URL=http://localhost:5000# Build the client
cd client && npm run build
# The built files will be in client/dist/
# Deploy the contents of this folder to your web serverWe welcome contributions! Here's how you can help:
- 🍴 Fork the repository
- 🌿 Create a feature branch (
git checkout -b feature/amazing-feature) - 💻 Commit your changes (
git commit -m 'Add amazing feature') - 📤 Push to the branch (
git push origin feature/amazing-feature) - 🔄 Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
This project is licensed under the Custom License - see the LICENSE file for details.
- React - The amazing UI library
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Low-level UI primitives
- Supabase - Backend-as-a-Service platform
- PDF.js - PDF rendering in browsers
If you encounter any issues or have questions:
- 🐛 Bug Reports: Open an issue
- 💬 Discussions: GitHub Discussions
- 📧 Email: your-email@example.com
Made with ❤️ by Your Name
⭐ Star this repository if you found it helpful!