Skip to content

A modern web application for file conversion, image resizing, digital signature creation, and document management. Built with Next.js 15, TypeScript, and client-side processing for privacy and speed.

Notifications You must be signed in to change notification settings

CodewithEvilxd/Convortex-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Convortex - Document Conversion & Digital Signature Tool

Live Demo Next.js TypeScript Tailwind CSS

A modern web application for file conversion, image resizing, digital signature creation, and document management. Built with Next.js 15, TypeScript, and client-side processing for privacy and speed.

🌐 Live Demo: https://convortex.vercel.app/

🌟 Features

πŸ“ File Management

  • Upload & Organize: Upload multiple file types with drag-and-drop support
  • Dashboard: View, search, filter, and manage all your files
  • File Preview: Preview images and documents before processing
  • Download: Download processed files individually

πŸ–ΌοΈ Image Processing

  • Resize Images: Change dimensions while maintaining aspect ratio
  • Format Conversion: Convert between JPG, PNG, WebP, GIF, BMP formats
  • Quality Control: Adjust compression and quality settings
  • Batch Processing: Process multiple images simultaneously

✍️ Digital Signatures

  • Canvas Drawing: Create signatures with mouse or touch
  • Customization: Choose pen color, size, and style
  • Export: Save signatures as PNG images
  • Storage: Store multiple signatures for reuse

πŸ”„ File Conversion

  • PDF Operations: Add watermarks, password protection, merge/split PDFs
  • Document Conversion: Convert between various document formats
  • Image Conversion: Transform images between different formats
  • Batch Conversion: Process multiple files at once

πŸ‘€ User Management

  • Local Authentication: Secure login system with localStorage
  • Demo Account: Try the app with a pre-configured demo account
  • User Profiles: Manage personal information and file statistics
  • Session Management: Automatic session handling

πŸš€ Technology Stack

Frontend Framework

  • Next.js 15 - React framework with App Router
  • TypeScript - Type-safe JavaScript development
  • React 19 - Modern React with concurrent features

Styling & UI

  • Tailwind CSS 4 - Utility-first CSS framework
  • Geist Fonts - Modern typography from Google Fonts
  • Heroicons - Beautiful, consistent icon library
  • Framer Motion - Smooth animations and transitions

File Processing

  • PDF-lib - Client-side PDF manipulation
  • Canvas API - Image processing and resizing
  • FileReader API - File upload and base64 conversion

Development Tools

  • ESLint - Code linting and quality assurance
  • Turbopack - Fast development bundler
  • Service Worker - Offline functionality and caching

πŸ“± Responsive Design

Fully responsive design optimized for all devices:

  • Mobile First: Touch-friendly interfaces with proper touch targets
  • Tablet Support: Optimized layouts for tablet screens
  • Desktop Experience: Full-featured desktop interface
  • Cross-browser: Compatible with all modern browsers

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js 18 or higher
  • npm or yarn package manager

Quick Start

  1. Clone the repository

    git clone https://github.com/CodewithEvilxd/Convortex-.git
    cd Convortex-
  2. Install dependencies

    npm install
  3. Run development server

    npm run dev
  4. Open your browser Navigate to http://localhost:3000

Demo Account

Use these credentials to try the application:

  • Email: demo@convert.com
  • Password: demo123

πŸ“ Project Structure

Convortex-/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ (main)/                   # Main application routes
β”‚   β”‚   β”‚   β”œβ”€β”€ convert/              # File conversion page
β”‚   β”‚   β”‚   β”œβ”€β”€ resize/               # Image resizing page
β”‚   β”‚   β”‚   β”œβ”€β”€ signature/            # Signature creation page
β”‚   β”‚   β”‚   β”œβ”€β”€ upload/               # File upload page
β”‚   β”‚   β”‚   β”œβ”€β”€ dashboard/            # User dashboard
β”‚   β”‚   β”‚   β”œβ”€β”€ layout.tsx            # Main layout with auth
β”‚   β”‚   β”‚   └── page.tsx              # Redirect to dashboard
β”‚   β”‚   β”œβ”€β”€ api/                      # API routes
β”‚   β”‚   β”‚   └── pdf/                  # PDF processing endpoints
β”‚   β”‚   β”œβ”€β”€ globals.css               # Global styles
β”‚   β”‚   β”œβ”€β”€ layout.tsx                # Root layout
β”‚   β”‚   └── page.tsx                  # Home page redirect
β”‚   β”œβ”€β”€ components/                   # Reusable components
β”‚   β”‚   β”œβ”€β”€ Auth/                     # Authentication components
β”‚   β”‚   β”‚   β”œβ”€β”€ Auth.tsx              # Main auth component
β”‚   β”‚   β”‚   β”œβ”€β”€ SignInForm.tsx        # Login form
β”‚   β”‚   β”‚   └── SignUpForm.tsx        # Registration form
β”‚   β”‚   β”œβ”€β”€ Header.tsx                # Navigation header
β”‚   β”‚   β”œβ”€β”€ Footer.tsx                # Site footer
β”‚   β”‚   └── ui/                       # UI components
β”‚   β”‚       └── theme-provider.tsx    # Theme context
β”‚   β”œβ”€β”€ context/                      # React contexts
β”‚   β”‚   β”œβ”€β”€ AuthContext.tsx           # Authentication state
β”‚   β”‚   └── FileContext.tsx           # File management state
β”‚   β”œβ”€β”€ hooks/                        # Custom React hooks
β”‚   β”‚   └── mobile.ts                 # Mobile detection hook
β”‚   β”œβ”€β”€ lib/                          # Utility libraries
β”‚   β”‚   └── utils.ts                  # General utilities
β”‚   └── utils/                        # Application utilities
β”‚       β”œβ”€β”€ authUtils.ts              # Authentication helpers
β”‚       β”œβ”€β”€ conversionUtils.ts        # File conversion functions
β”‚       └── fileUtils.ts              # File handling utilities
β”œβ”€β”€ public/                           # Static assets
β”‚   β”œβ”€β”€ sw.js                        # Service worker
β”‚   β”œβ”€β”€ manifest.json                 # PWA manifest
β”‚   β”œβ”€β”€ icon.png                      # App icon
β”‚   └── *.svg                         # UI icons
β”œβ”€β”€ next.config.ts                   # Next.js configuration
β”œβ”€β”€ tailwind.config.ts               # Tailwind CSS config
β”œβ”€β”€ tsconfig.json                    # TypeScript configuration
β”œβ”€β”€ package.json                     # Dependencies and scripts
└── README.md                        # This file

🎯 Usage Guide

Getting Started

  1. Sign In: Use the demo account or create your own
  2. Upload Files: Drag and drop files or click to browse
  3. Process Files: Use various tools to convert, resize, or sign documents
  4. Manage Files: View all files in your dashboard

File Upload

  • Supports images (JPG, PNG, GIF, WebP, BMP, SVG)
  • Supports documents (PDF, DOCX, XLSX, TXT)
  • Maximum file size: 50MB per file
  • Multiple file upload supported

Image Resizing

  1. Select an image from your dashboard
  2. Adjust width and height
  3. Choose to maintain aspect ratio
  4. Preview changes in real-time
  5. Apply resize and download

Digital Signatures

  1. Go to the Signature page
  2. Draw your signature on the canvas
  3. Customize pen color and size
  4. Name your signature
  5. Save as PNG image

File Conversion

  1. Select files from your dashboard
  2. Choose conversion type (PDF operations, format conversion, etc.)
  3. Configure options (quality, format, etc.)
  4. Process files individually or in batches
  5. Download converted files

πŸ”§ Configuration

Environment Variables

The application uses localStorage for data persistence, so no environment variables are required for basic functionality.

Service Worker

The app includes a service worker for:

  • Offline file access
  • Improved performance through caching
  • Background sync capabilities

Build Configuration

// next.config.ts
const nextConfig = {
  experimental: {
    serverComponentsExternalPackages: [],
  },
  async headers() {
    return [
      {
        source: '/api/:path*',
        headers: [
          {
            key: 'Cache-Control',
            value: 'no-cache, no-store, must-revalidate',
          },
        ],
      },
    ];
  },
};

πŸš€ Deployment

Vercel (Recommended)

  1. Connect your GitHub repository to Vercel
  2. Deploy automatically on push
  3. No additional configuration needed

Other Platforms

The app can be deployed to any Node.js hosting platform:

  • Netlify
  • Railway
  • DigitalOcean App Platform
  • AWS Amplify

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Make your changes
  4. Test thoroughly on different devices
  5. Commit with descriptive messages
  6. Push to your branch
  7. Open a Pull Request

Development Guidelines

  • Use TypeScript for all new code
  • Follow existing code style and patterns
  • Test on multiple browsers and devices
  • Ensure responsive design works properly
  • Add proper error handling

πŸ“„ License

This project is licensed under the MIT License.

πŸ™ Acknowledgments

πŸ“ž Support

For questions or issues:

  • Check the existing issues on GitHub
  • Create a new issue with detailed information
  • Ensure you're using the latest version

Convortex - Simple, fast, and secure file processing for everyone. 🌟

About

A modern web application for file conversion, image resizing, digital signature creation, and document management. Built with Next.js 15, TypeScript, and client-side processing for privacy and speed.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •