Skip to content

rohitTo95/PDFLY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📄 PDFY - Lovely PDF Tool

PDFY Logo

✨ The Ultimate PDF Toolkit for Modern Web

A powerful, user-friendly web application for all your PDF manipulation needs. Built with modern technologies for a seamless experience.

React TypeScript Vite Tailwind CSS Supabase

🌐 Live Demo🚀 Features⚡ Quick Start🛠️ Tech Stack🏗️ Architecture

🌐 Try it Live!

Live Demo


🖼️ Demo

🌐 Live Application

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


🚀 Features

📋 Core PDF Operations

  • 🔗 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

🎨 User Experience

  • 🎨 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

🛡️ Technical Excellence

  • ⚡ 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

🖼️ Demo

🌐 Live Application

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

PDFY Homepage PDF Tools Dashboard PDF Preview Interface

⚡ Quick Start

Prerequisites

Make sure you have the following installed:

🚀 Installation

# 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

🌐 Access the Application


🛠️ Tech Stack

Frontend

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

Backend

Technology Purpose
🟢 Node.js Runtime Environment
🚀 Express.js Web Framework
🗄️ Supabase Database & Auth
📄 PDF-lib PDF Manipulation

Development Tools

  • 📝 ESLint - Code Linting
  • 🎯 Prettier - Code Formatting
  • 🔧 TypeScript - Static Type Checking
  • 🧪 Vitest - Unit Testing

🏗️ Architecture

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

🔧 Configuration

Environment Variables

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 for Production

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

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. 💻 Commit your changes (git commit -m 'Add amazing feature')
  4. 📤 Push to the branch (git push origin feature/amazing-feature)
  5. 🔄 Open a Pull Request

Development Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed

📝 License

This project is licensed under the Custom License - see the LICENSE file for details.


🙏 Acknowledgments

  • 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

📞 Support

If you encounter any issues or have questions:


Made with ❤️ by Your Name

⭐ Star this repository if you found it helpful!

Releases

Packages

Used by

Contributors

Languages