Important Notice:
CloudShare backend is currently offline. This project was hosted on AWS Free Tier, which has now expired. As a result, file upload and download services are temporarily disabled.
The frontend remains live for demonstration purposes. No user data is being collected or stored at this time.
Thank you for checking out the project. To see the project in action, please scroll down to the YouTube video link.
CloudShare is a serverless, temporary file-sharing service built entirely on AWS. Users can upload a file, receive a short access code, and share it with someone else to download the file. Everything is automated, short-lived, and fully serverless.
-
Upload
The user selects a file and uploads it through the web interface. -
Code Generation
A Lambda function generates a unique access code (e.g.,AB12CD34) for the file. -
Temporary Storage in S3
The uploaded file is stored in Amazon S3 with the correct metadata.
S3 is also used to host the frontend website. -
Tracking in DynamoDB
DynamoDB stores:- the generated access code
- the original filename
- the MIME type
- a TTL timestamp for cleanup
-
Code Display
The frontend shows the generated code, and it automatically disappears after 30 seconds. -
Receiving
The recipient enters the access code on the Receive page. -
Presigned URL Delivery
A Lambda function validates the code and returns a presigned S3 download URL.
This URL is valid for 1 hour. -
Download
The user downloads the file using the presigned link, with the correct filename and MIME type preserved. -
Expiration & Cleanup
Files stay available in the cloud for 24 hours.
After that:- the S3 object is deleted
- the DynamoDB record expires
- the access code becomes invalid
CloudShare/
├── .github/
│ └── workflows/
├── img/
│ └── logo.png
├── lambda/
│ ├── download_lambda.py
│ ├── feedback_lambda.py
│ └── upload_lambda.py
├── .gitignore
├── CloudShare(logo).png
├── index.html
├── README.md
├── script.js
├── style.css
└── Working.mp4
- AWS Lambda – Backend logic
- Amazon S3 – File storage + static website hosting
- Amazon DynamoDB – Stores file metadata and feedback; file metadata is auto-expired using TTL
- API Gateway (REST) – Acts as the interface between the frontend and Lambda
- CloudFront – Provides HTTPS and global CDN caching for the static site
- IAM – Roles for Lambda + a dedicated CI/CD IAM user used by GitHub Actions
- GitHub Actions – CI/CD pipeline for deploying updates to AWS
- CloudWatch – Logs and monitoring for Lambda functions
- Frontend – Static HTML, CSS, and JavaScript
A minimal, serverless, no-account file-sharing tool designed for quick, temporary transfers with automatic cleanup.
Check out the full walkthrough and demo of CloudShare on YouTube:
