This is currently live at http://image-repo-frontend.s3-website.us-east-2.amazonaws.com/
- Account registration and login using Amazon Cognito
- If you would like to test it without your email, please use a service like temp-mail.org
- Secure upload to S3 bucket when logged in
- Upload one or multiple images using drag and drop
- You can access the images at
https://dev-image-repo-bucket.s3.us-east-2.amazonaws.com/your-image-name.png
- CI/CD using Github Actions .github/workflows
- Build, lint and deploy Vue frontend in S3 bucket
- Deploy AWS Lambda functions using Serverless CLI
- Use Terraform to plan and apply infrastructure
- Unit test Vue frontend
- Populate home page with latest images from S3 bucket
- Access control for private/public images
- Secure deletion of images
- This should use Cognito Auth to delete images from DB if the user owns that image
- Automatic tagging based on image features using Rekognition
- Search DynamoDB based on filenames and tags
Install Vue CLI
yarn global add @vue/cli
Serve a local version of the frontend
cd ./frontend
yarn install
yarn serve
- Elliot Forbes's "Building an Imgur Clone with Vue.JS and Node.JS"
- I have limited frontend experience so I followed most of this tutorial. Main difference is that I used Python for AWS Lambda functions instead of Node.