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
- Implementing client-side encryption while ensuring compatibility across browsers and devices.
- Efficiently managing custom short URLs to avoid conflicts, requiring advanced DynamoDB indexing and validation.
- Ensuring smooth frontend-backend communication for generating and validating URLs.
- 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
- apigateway
- cloudfront
- dynamodb
- html5
- javascript
- lambda
- node.js
- react
- s3
- serverless
- webcrypto
Log in or sign up for Devpost to join the conversation.