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/
- 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
- 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
- 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
- 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
- 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
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe JavaScript development
- React 19 - Modern React with concurrent features
- 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
- PDF-lib - Client-side PDF manipulation
- Canvas API - Image processing and resizing
- FileReader API - File upload and base64 conversion
- ESLint - Code linting and quality assurance
- Turbopack - Fast development bundler
- Service Worker - Offline functionality and caching
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
- Node.js 18 or higher
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/CodewithEvilxd/Convortex-.git cd Convortex- -
Install dependencies
npm install
-
Run development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
Use these credentials to try the application:
- Email:
demo@convert.com - Password:
demo123
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
- Sign In: Use the demo account or create your own
- Upload Files: Drag and drop files or click to browse
- Process Files: Use various tools to convert, resize, or sign documents
- Manage Files: View all files in your dashboard
- Supports images (JPG, PNG, GIF, WebP, BMP, SVG)
- Supports documents (PDF, DOCX, XLSX, TXT)
- Maximum file size: 50MB per file
- Multiple file upload supported
- Select an image from your dashboard
- Adjust width and height
- Choose to maintain aspect ratio
- Preview changes in real-time
- Apply resize and download
- Go to the Signature page
- Draw your signature on the canvas
- Customize pen color and size
- Name your signature
- Save as PNG image
- Select files from your dashboard
- Choose conversion type (PDF operations, format conversion, etc.)
- Configure options (quality, format, etc.)
- Process files individually or in batches
- Download converted files
The application uses localStorage for data persistence, so no environment variables are required for basic functionality.
The app includes a service worker for:
- Offline file access
- Improved performance through caching
- Background sync capabilities
// next.config.ts
const nextConfig = {
experimental: {
serverComponentsExternalPackages: [],
},
async headers() {
return [
{
source: '/api/:path*',
headers: [
{
key: 'Cache-Control',
value: 'no-cache, no-store, must-revalidate',
},
],
},
];
},
};- Connect your GitHub repository to Vercel
- Deploy automatically on push
- No additional configuration needed
The app can be deployed to any Node.js hosting platform:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Make your changes
- Test thoroughly on different devices
- Commit with descriptive messages
- Push to your branch
- Open a Pull Request
- 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
This project is licensed under the MIT License.
- Next.js - The React framework
- Tailwind CSS - CSS framework
- PDF-lib - PDF manipulation
- Heroicons - Icon library
- Geist Font - Typography
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. π