https://github.com/laban254/media-upload-thumbnail-generator
Flask app for media uploads, metadata storage in AWS RDS, and thumbnail generation via AWS Lambda, leveraging Cognito, S3, and SQS for seamless processing.
https://github.com/laban254/media-upload-thumbnail-generator
aws-cloudwatch aws-cognito aws-lambda-python aws-rds aws-sqs flask
Last synced: 9 months ago
JSON representation
Flask app for media uploads, metadata storage in AWS RDS, and thumbnail generation via AWS Lambda, leveraging Cognito, S3, and SQS for seamless processing.
- Host: GitHub
- URL: https://github.com/laban254/media-upload-thumbnail-generator
- Owner: Laban254
- Created: 2024-11-14T17:57:23.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-21T20:36:31.000Z (about 1 year ago)
- Last Synced: 2025-02-05T23:00:04.294Z (11 months ago)
- Topics: aws-cloudwatch, aws-cognito, aws-lambda-python, aws-rds, aws-sqs, flask
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎥 **Media Upload, Metadata Storage & Thumbnail Generation**
This project implements a web application that allows users to upload media files (images), along with titles and descriptions. The application integrates with AWS services for authentication, media storage, and automated thumbnail generation. The backend is built using Flask, and AWS RDS (PostgreSQL) is used to store media metadata. AWS S3 is used for media storage, while AWS Lambda processes the images to generate thumbnails upon receiving notifications from SQS.
----------
## 🚀 **Features**
### 🔒 **User Authentication:**
- Secure login and signup via **AWS Cognito**.
- Session tokens are stored for authenticated users.
### 🖼️ **Media Upload:**
- Users can upload media with a title and description.
- Media files (images) are stored in **AWS S3**, and metadata (title, description, file URL) is saved in **AWS RDS (PostgreSQL)**.
### 🛠️ **Thumbnail Generation:**
- An **AWS Lambda** function listens to **SQS** for new media uploads.
- The Lambda function processes the images, generates thumbnails, and stores them back in **AWS S3**.
### 🔄 **Real-Time Updates:**
- The **Flask app** listens for **SQS** messages.
- It updates the media record with the generated thumbnail URL.
----------
## 💻 **Technologies Used**
- **Backend:** Python, Flask
- **Authentication:** AWS Cognito
- **Cloud Services:** AWS S3, AWS Lambda, AWS SQS, AWS RDS (PostgreSQL), AWS CloudWatch
- **Frontend:** HTML, CSS, JavaScript, Bootstrap