Inspiration

The inspiration for CloudShare came from the need for a fast, secure, and anonymous way to share files without requiring accounts or complicated processes. Many existing platforms either compromise on privacy or require cumbersome setups. CloudShare was built to offer a seamless, user-friendly experience while maintaining robust security and privacy.

What It Does

CloudShare is a serverless platform that enables users to securely share files with encryption, custom short URLs, and QR codes. Users can:

  • Upload multiple files of total size up to 50 MB (optimized for the AWS Free Tier).
  • Encrypted all files before storing on S3 bucket and decrypt on client-side.
  • Set custom expiration times and download limits.
  • Generate shareable short URLs and QR codes for easy access.
  • Ensure data privacy through client-side encryption and temporary storage.

How I Built It

  • Frontend: Built with React and deployed on AWS CloudFront. The frontend handles client-side encryption and decryption using Web Crypto APIs.
  • Backend: Implemented using AWS Lambda and API Gateway, with a serverless architecture. The backend generates presigned URLs for uploads and downloads and stores metadata (such as expiration and limits) in DynamoDB.
  • Storage: Files are temporarily stored in AWS S3, with lifecycle policies for automatic deletion after expiration.
  • Deployment: Deployed using the Serverless framework, ensuring seamless integration with AWS services while maintaining scalability.

Challenges I Ran Into

  1. Implementing client-side encryption while ensuring compatibility across browsers and devices.
  2. Efficiently managing custom short URLs to avoid conflicts, requiring advanced DynamoDB indexing and validation.
  3. Ensuring smooth frontend-backend communication for generating and validating URLs.
  4. Balancing scalability and cost-efficiency, especially within the AWS Free Tier constraints.

Accomplishments That I'm Proud Of

  • Successfully implemented client-side encryption and decryption for enhanced privacy.
  • Designed a fully serverless, scalable solution that minimizes infrastructure management.
  • Integrated custom short URLs and QR code generation for improved usability.
  • Kept the platform cost-efficient by staying within AWS Free Tier limits.

What I Learned

  • The importance of securing data with end-to-end encryption.
  • Efficiently leveraging AWS services such as Lambda, S3, DynamoDB, and CloudFront for serverless development.
  • Designing user-friendly features like custom short URLs and seamless frontend-backend interaction.
  • Managing temporary storage with S3 lifecycle policies to ensure automatic cleanup.

What's Next for CloudShare - A Cloud-Based File Sharing Platform

  • Increasing the file upload size beyond 50 MB as the platform scales.
  • Implementing advanced analytics for shared files, such as download tracking and usage stats.
  • Exploring AI-driven insights for detecting potential misuse or suspicious activity.
  • Expanding to support additional storage providers like Google Cloud and Azure for broader compatibility.

Built With

Share this project:

Updates