Skip to content

PasteBox is a file-sharing app built with the MERN stack. The frontend uses React, Tailwind CSS, and Redux, while the backend uses Express and MongoDB with Multer and GridFS for file storage. Users can upload files, generate short shareable links, preview files, and generate QR codes.

Notifications You must be signed in to change notification settings

PrinceInScripts/pastebox-file-sharing-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¦ PasteBox β€” Secure, Fast & Smart File Sharing Platform

Build Status License Tech

PasteBox is a modern file-sharing and storage platform that lets users instantly upload files and generate short, shareable download links or QR codes. With a clean UI, lightning-fast uploads (via AWS), and optional user authentication, PasteBox is designed for both casual and power users.

Live Demo (Coming Soon) | Powered by MERN + AWS


✨ Features

πŸš€ General Features

  • ⚑ Fast file uploads via AWS S3 & MongoDB GridFS
  • πŸ” JWT-based authentication (Login/Register)
  • 🧾 Dashboard for managing uploaded files
  • πŸ’Ύ Anonymous sharing via LocalStorage
  • πŸ”— Share links with QR Codes, WhatsApp, Email, Facebook, etc.
  • πŸ“… Expiration countdown for temporary files
  • πŸ“€ Download/Preview features with tracking
  • 🌐 SEO-optimized public pages
  • πŸ“ˆ Progress indicators, spinners, and toasts for smooth UX

πŸ“‘ Sharing Options

  • Share links via:
    • WhatsApp
    • Instagram
    • Email
    • Direct QR Code
  • Copy link with one click

βš™οΈ Backend & Storage

  • Uses AWS S3 for fast and reliable file storage
  • GridFS support for large file uploads
  • Secure token-based API authentication
  • Supports file compression and preview links

πŸ› οΈ Tech Stack

πŸ”Ή Frontend

  • React 18
  • React Router DOM
  • Tailwind CSS (for styling)
  • Redux Toolkit (for state management)
  • React Dropzone (for file drag-and-drop)
  • React Toastify (for notifications)
  • React QR Code & React Share (for QR and social sharing)
  • Vite (blazing fast dev server)

πŸ”Έ Backend

  • Node.js + Express
  • MongoDB + Mongoose
  • AWS SDK (for S3 uploads)
  • Multer + GridFS
  • JWT (authentication)
  • ShortID (for short link generation)
  • QRCode (for QR generation)
  • Nodemailer (for potential email sharing)

πŸ“Έ Screenshots

πŸ‘€ User Dashboard

User Dashboard

πŸ‘₯ Guest Dashboard

Guest Dashboard

πŸ“€ File Upload Panel

File Uploaded

πŸ”— File Share Options

File Share

πŸ” File Preview Window

File Preview

πŸ“‚ Project Structure

Project Structure

The structure image above shows the separation of the React frontend (client/) and Node.js backend (server/), including components, routes, controllers, models, and config folders.


βš™οΈ Installation & Running Locally

πŸ“¦ Requirements

  • Node.js
  • MongoDB (local or Atlas)
  • AWS credentials with S3 bucket

πŸ§‘β€πŸ’» 1. Clone the repository

git clone https://github.com/PrinceInScripts/Share-Pod-File-Sharing-Application cd client npm install npm run dev cd server npm install npm start PORT=6600 MONGODB_URL=your_mongo_url SERVER_URL=http://localhost:6600/api/files CLIENT_URL=http://localhost:5173 NODE_ENV=development JWT_SECRET=your_jwt_secret AWS_ACCESS_KEY_ID=your_aws_access_key AWS_SECRET_ACCESS_KEY=your_aws_secret AWS_REGION=your_aws_region AWS_BUCKET_NAME=your_s3_bucket MAIL_USER=your_email MAIL_PASS=your_email_password BASE_URL=http://localhost:6600

About

PasteBox is a file-sharing app built with the MERN stack. The frontend uses React, Tailwind CSS, and Redux, while the backend uses Express and MongoDB with Multer and GridFS for file storage. Users can upload files, generate short shareable links, preview files, and generate QR codes.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published