Skip to content

Sumit-5002/Anyfileforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

166 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo AnyFileForge

The Ultimate Secure File Processing Platform for Engineers & Researchers
Built by Sumit Prasad

License: MIT React Vite Firebase GitHub Status

AnyFileForge is an open-source, privacy-first web application that handles complex file operations entirely in the browser. No file ever leaves your device unless you explicitly choose to save it to the cloud. Whether you're an engineer who needs to format JSON, a researcher compiling LaTeX, or just someone who needs to merge PDFs β€” AnyFileForge has you covered.


🌟 Why AnyFileForge?

  • πŸ”’ Privacy First β€” All processing happens client-side (in your browser). Your files are never uploaded to our servers unless you explicitly opt-in.
  • ⚑ Blazing Fast β€” Powered by WebAssembly (qpdf-wasm, pdfjs-dist) and modern browser APIs.
  • πŸ› οΈ Specialized Tools β€” Custom-built utilities for Software Engineers and Academic Researchers, not just generic converters.
  • πŸ“± Fully Responsive β€” Works perfectly on Desktop, Tablet, and Mobile.
  • 🌍 Multilingual β€” Supports English, Spanish, and Hindi via i18next.
  • πŸ“¦ Installable PWA β€” Install AnyFileForge as a native-like app on any device.

πŸ”₯ Features by Role

πŸ‘¨β€πŸ’» For Developers / Engineers

  • Code Utilities: JSON Formatter & Validator, JS/CSS/HTML Minifier, Regex Tester
  • Data Conversion: JSON ↔ CSV, Base64 Encoder/Decoder, Markdown Live Preview
  • Visualization: CSV Data Plotter, Interactive charts

πŸ”¬ For Academic Researchers

  • Academic Writing: LaTeX Editor, BibTeX Reference Manager
  • Data Analysis: CSV Plotting with instant chart generation
  • Format Support: HDF5, Parquet, NetCDF

πŸ“„ For Everyone (PDF & Images)

  • PDF Suite (25+ tools): Merge, Split, Compress, Rotate, Watermark, Sign, Protect, Unlock, Compare, Redact, Add Page Numbers, Organize Pages, Repair
  • PDF Conversions: PDF↔Word, PDF↔Excel, PDF↔PPT, PDF↔JPG, HTMLβ†’PDF, JPGβ†’PDF
  • Image Studio: Resize, Crop, Compress, Rotate/Flip, Convert (WebP/JPG/PNG), Watermark, Blur Faces, Remove Background, Meme Generator, Upscale

πŸ—οΈ Technology Stack

Frontend

Technology Version Purpose
React ^19.2.0 Core UI framework β€” component-based rendering
React DOM ^19.2.0 React renderer for the browser
Vite ^7.3.1 Build tool & dev server with HMR
React Router DOM ^7.13.0 Client-side routing (SPA navigation)

Styling & Icons

Technology Version Purpose
Vanilla CSS β€” Custom design system with CSS variables, no framework needed
Lucide React ^0.564.0 Beautiful, consistent SVG icon set

PDF Processing

Library Version Purpose
pdf-lib ^1.17.1 Create, merge, split, rotate, watermark, and modify PDFs in the browser
pdfjs-dist ^5.5.207 Render PDF pages to canvas (view, extract text, convert to image)
qpdf-wasm-esm-embedded ^1.1.1 WebAssembly port of QPDF β€” password protection & unlocking
mammoth ^1.11.0 Convert .docx Word files to HTML/text for PDF generation
docx ^9.6.0 Generate .docx Word files from extracted PDF content
xlsx ^0.18.5 Read/write Excel .xlsx files — used in PDF→Excel conversion
pptxgenjs ^4.0.1 Generate PowerPoint .pptx files from PDF page renders

File & Archive Utilities

Library Version Purpose
jszip ^3.10.1 Create and read .zip archives (batch download multiple output files)

Drag & Drop

Library Version Purpose
react-dnd ^16.0.1 Drag-and-drop framework for React (PDF page organizer)
react-dnd-html5-backend ^16.0.1 HTML5 drag-and-drop backend for react-dnd
dnd-core ^16.0.1 Core state management engine for react-dnd

Internationalization (i18n)

Library Version Purpose
i18next ^25.8.7 Internationalization framework
react-i18next ^16.5.4 React bindings for i18next (useTranslation hook)
i18next-browser-languagedetector ^8.2.1 Auto-detects user's browser language

Backend-as-a-Service (Firebase)

Service Version Purpose
firebase ^12.9.0 Firebase JavaScript SDK
Firebase Auth β€” Email/password and Google Sign-In authentication
Firebase Firestore β€” NoSQL database for user profiles, projects, feedback
Firebase Storage β€” Cloud file storage for user-saved processed files
firebase-tools ^15.6.0 CLI tool for deploying to Firebase Hosting

Progressive Web App (PWA)

Library Version Purpose
vite-plugin-pwa ^1.2.0 Generates PWA manifest and service worker via Workbox
workbox-window ^7.4.0 Manages service worker lifecycle & update notifications

Dev Dependencies

Tool Version Purpose
@vitejs/plugin-react ^5.1.4 Vite plugin for React β€” Fast Refresh, JSX transform
ESLint ^9.39.1 JavaScript/JSX linter for code quality
eslint-plugin-react-hooks ^7.0.1 ESLint rules for correct React Hooks usage
eslint-plugin-react-refresh ^0.4.24 ESLint rules for Vite's Fast Refresh compatibility
@types/react ^19.2.7 TypeScript type definitions for React
globals ^16.5.0 Global variable definitions for ESLint environments

πŸ“ Backend Server (Optional)

The backend server handles computationally heavy file operations that would be too slow or memory-intensive in the browser.

Technology Version Purpose
Node.js LTS Server runtime
Express ^4.18.2 HTTP server framework for REST API routes
Multer ^1.4.5-lts.1 Multipart form data parser β€” handles file uploads
Sharp ^0.33.0 High-performance image processing (resize, compress, convert)
pdf-lib ^1.17.1 PDF creation and manipulation on the server
Helmet ^7.1.0 Secures HTTP headers against common vulnerabilities
express-rate-limit ^7.1.5 Prevents API abuse with per-IP rate limiting
cors ^2.8.5 Enables Cross-Origin Resource Sharing for the frontend
dotenv ^16.3.1 Loads .env file into process.env
nodemon ^3.0.2 (devDep) Auto-restarts server on file changes during development

πŸš€ Quick Start Guide

1. Clone & Install

git clone https://github.com/yourusername/anyfileforge.git
cd anyfileforge
npm install

2. Configure Environment

cp .env.example .env

Open .env and fill in your Firebase credentials (see Firebase Setup below).

3. Run Locally

npm run dev

Visit http://localhost:5173 to see the app in action!

4. (Optional) Run the Backend Server

cd server
npm install
npm run dev

The server runs on http://localhost:3001 by default.


πŸ”₯ Firebase Setup

  1. Create a Firebase project at console.firebase.google.com
  2. Enable Authentication (Email/Password + Google provider)
  3. Enable Firestore Database
  4. Enable Storage
  5. Copy your Firebase web config to .env:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
VITE_FIREBASE_APP_ID=1:123456789:web:abcdef

Firestore Security Rules

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
    match /files/{fileId} {
      allow read, write: if request.auth != null;
      allow delete: if request.time > resource.data.expiresAt;
    }
  }
}

Storage Rules

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /files/{fileId} {
      allow read, write: if request.auth != null;
    }
  }
}

πŸ“ File Structure

See FILE_STRUCTURE.md for a detailed, annotated breakdown of every folder and file in the project.


🀝 Contributing

We welcome contributions! Here's how to get started:

  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

See CONTRIBUTING.md for detailed guidelines.


πŸ“ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

βœ… Commercial use Β  βœ… Modification Β  βœ… Distribution Β  βœ… Private use


🎯 Roadmap

Phase 1: Core Features (Current)

  • Full UI and navigation
  • 25+ PDF tools (merge, split, compress, convert, sign, protect…)
  • 13+ Image tools (resize, crop, compress, convert, watermark…)
  • Developer tools (JSON, Regex, Base64, Markdown, Minifier…)
  • Firebase Authentication (Email + Google)
  • Multilingual support (EN / ES / HI)
  • PWA β€” installable as desktop/mobile app
  • Drag-and-drop PDF page organizer

Phase 2: Advanced Features

  • Batch processing with progress tracking
  • REST API for programmatic access
  • Advanced PDF annotations and form filling
  • OCR for scanned documents (Tesseract.js)
  • Expanded researcher tools (HDF5, Parquet, NetCDF)

Phase 3: Premium Features

  • Extended cloud storage duration
  • Priority processing queue
  • Team collaboration and file sharing
  • Self-hosted deployment guide
  • Enterprise SSO

πŸ™ Acknowledgments

Library Use
React UI framework
Vite Build tool & dev server
Firebase Auth, database, storage
pdf-lib Client-side PDF manipulation
pdfjs-dist PDF rendering engine
Lucide Icons Icon set
docx Word document generation
pptxgenjs PowerPoint generation
xlsx Excel file handling
sharp Server-side image processing

πŸ‘¨β€πŸ’» Developer & Contact

Field Details
Name Sumit Prasad
Role Full-Stack Software Engineer
GitHub Profile @Sumit-5002
Project Repository Sumit-5002/Anyfileforge
Report Issues Anyfileforge/issues
LinkedIn sumit-prasad-bce2005
Email sumitboy2005@gmail.com

Built with ❀️ by Sumit Prasad β€” for engineers and researchers worldwide

About

Cross-Platform File Utility Platform(Mission to achive all file type compatability view and coversion in world).

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages