Skip to content

JingyanLou/PixTag

Repository files navigation

PixTag: An AWS-powered Serverless Image Storage System

Project Overview

PixTag is an AWS-based online system that allows users to upload images and perform object detection. The detected tags and image information are stored in DynamoDB. Users can query for specific images by tag, search for images based on tags, update or delete tags in DynamoDB, and subscribe to specific tags. When an image with a subscribed tag is added or updated, users receive email notifications. The application leverages AWS services such as S3, Lambda, API Gateway, DynamoDB, and SNS to provide a seamless experience for image management and retrieval.

Features

  • Upload images to S3 and automatically generate tags using object detection(yolo).
  • Store image metadata and tags in DynamoDB.
  • Query images based on tags via API Gateway.
  • Find images based on the thumbnail’s url.
  • Find images based on the tags of an image.
  • Manual addition or removal of tags with bulk tagging.
  • Subscribe to specific tags to receive notifications when new images with those tags are added.
  • Unsubscribe to specific tags to stop receiving notification
  • User authtication using AWS Cognito.
  • User registeration using AWS Cognito.

System Diagram

Here is the system diagram:

systemdiagramnew

User Interface

Login

Login

Registeration

Registeration

Upload image

Upload image

Tag subscribe

Tag subscribe

Update tags/Delete tags

Update tags/Delete tags

Search by tags

Search by tags

Search by url

Search by url

Find Similar Images

Find Similar Images

Technologies Used

  • AWS S3: Storage for images.
  • AWS Lambda: Serverless functions used to perform the main logic
  • AWS API Gateway: RESTful API endpoints for all queries.
  • AWS DynamoDB: Database for storing image metadata and tags.
  • AWS SNS: Notification service for tag-based subscriptions.
  • OpenCV: Library for creating image thumbnails added as a layer in lambda.
  • Yolo-tiny-config: Image processing model added as a layer in lambda.

Team

  • Team51
  • Memeber: Jingyan LOU, Yanqi Zhu, Jinhui Li
  • Developed as part of the FIT5225:Cloud-computing Coursework

About

An AWS-powered Serverless Image Storage System with Advanced Tagging Capabilities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors