Skip to content

A fast and secure file-sharing platform built with Next.js, Bun, Prisma, and AWS S3. It enables seamless uploads and downloads using presigned URLs, ensuring privacy and reliability. Designed for simplicity, scalability, and performance, making file sharing effortless without unnecessary complexity. πŸš€πŸ“‚βœ¨

Notifications You must be signed in to change notification settings

Anonymous961/CandyShare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CandyShare

A modern file-sharing platform that lets you upload files and generate secure temporary links for sharing. Perfect for quickly sharing files with advanced features and multiple tier options.

What it does

CandyShare allows you to:

  • Upload files with drag-and-drop interface
  • Generate secure links that expire automatically
  • Share files instantly with anyone via a simple URL or QR code
  • Protect sensitive files with optional password protection
  • Track downloads and access patterns with detailed analytics
  • Choose your tier - Anonymous, Free, or Pro sharing options
  • Manage files with a comprehensive dashboard

Use Cases

Personal Use

  • Share photos and videos with family and friends
  • Send large documents that won't fit in email
  • Temporary file storage for personal projects
  • Quick file transfers between devices

Business Use

  • Share project files with clients
  • Distribute documents to team members
  • Send large presentations or reports
  • Temporary file hosting for meetings

Developer Use

  • Share code files and assets
  • Distribute software builds
  • Host temporary documentation
  • Share log files for debugging

Features

  • Instant Upload: Drag and drop or click to upload files
  • Secure Links: Files are accessible only via generated links
  • Auto Expiry: Files automatically expire for security
  • Password Protection: Add passwords to sensitive files
  • QR Code Sharing: Generate QR codes for easy mobile sharing
  • Download Tracking: See how many times files are downloaded
  • Analytics Dashboard: Detailed insights into file usage and activity
  • User Authentication: Secure account management with NextAuth
  • Payment Integration: Pro tier subscription with Razorpay
  • File Management: Organize and manage your shared files
  • Multiple Tiers: Anonymous, Free, and Pro sharing options

Quick Start

  1. Upload a file by dragging it to the upload area
  2. Get your share link instantly
  3. Share the link with anyone who needs the file
  4. Files expire automatically based on your tier

Tiers

Anonymous

  • No registration required
  • Files expire in 24 hours
  • Up to 10MB file size
  • Basic sharing features

Free

  • Account required
  • Files expire in 7 days
  • Up to 200MB file size
  • Password protection available
  • Basic analytics

Pro ($8.99/month)

  • Full features
  • Files expire in 30 days
  • Up to 2GB file size
  • Advanced analytics and insights
  • Priority support
  • Custom branding options

Getting Started

Prerequisites

  • Node.js 18+ or Bun
  • PostgreSQL database
  • AWS S3 bucket
  • Razorpay account (for payments)

Installation

  1. Clone the repository
git clone https://github.com/yourusername/candyshare.git
cd candyshare
  1. Install backend dependencies
cd backend
bun install
  1. Install frontend dependencies
cd ../frontend
npm install
  1. Set up environment variables

Backend (.env):

cp .env.example .env
# Edit .env with your database, AWS, and Razorpay credentials

Frontend (.env.local):

cp .env.example .env.local
# Edit .env.local with your API endpoints
  1. Run database migrations
cd backend
bun run db:generate
bun run db:migrate
  1. Start the development servers

Backend:

cd backend
bun run dev

Frontend:

cd frontend
npm run dev

The application will be available at http://localhost:3000.

Docker Deployment

Build and run with Docker:

docker build -f docker/Dockerfile.server -t candyshare .
docker run -p 4000:4000 candyshare

Project Structure

CandyShare/
β”œβ”€β”€ backend/           # Bun + Prisma API server
β”œβ”€β”€ frontend/          # Next.js React application
β”œβ”€β”€ docker/            # Docker configuration
└── README.md

Legal Pages

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details.

About

A fast and secure file-sharing platform built with Next.js, Bun, Prisma, and AWS S3. It enables seamless uploads and downloads using presigned URLs, ensuring privacy and reliability. Designed for simplicity, scalability, and performance, making file sharing effortless without unnecessary complexity. πŸš€πŸ“‚βœ¨

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published