Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xsalazar/image-converter
🖼 This repository contains the backend AWS Lambda source code to convert .svg images into .png or .jpeg images for the front-end website hosted at https://downloademoji.dev
https://github.com/xsalazar/image-converter
aws aws-lambda emoji lambda terraform twemoji
Last synced: 3 days ago
JSON representation
🖼 This repository contains the backend AWS Lambda source code to convert .svg images into .png or .jpeg images for the front-end website hosted at https://downloademoji.dev
- Host: GitHub
- URL: https://github.com/xsalazar/image-converter
- Owner: xsalazar
- Created: 2021-12-23T02:18:11.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-15T21:36:44.000Z (about 1 month ago)
- Last Synced: 2024-10-17T09:57:20.551Z (29 days ago)
- Topics: aws, aws-lambda, emoji, lambda, terraform, twemoji
- Language: HCL
- Homepage: https://downloademoji.dev
- Size: 425 KB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# 🖼 Image Converter
This repository holds both the Terraform infrastructure code as well as the simple Javascript application that runs inside the AWS Lambda function.
This application code is a basic image converter service that takes in a URL to a [Twemoji](https://github.com/twitter/twemoji) SVG image and will convert it out to either a `.jpeg` or `.png` image at an arbitrary size. This application leverages the [`sharp`](https://sharp.pixelplumbing.com/) library for quick, high-quality conversions.
The infrastructure supporting this backend application is a simple public API Gateway that forwards valid requests to the Lambda function.
This backend application is used to support the website [https://downloademoji.dev](https://downloademoji.dev) for quick and reliable downloads of high-quality emoji.
## Getting Started
This repository leverages [VSCode's devcontainer](https://code.visualstudio.com/docs/remote/containers) feature to ensure all necessary dependencies are available inside the container for development.
### Application
The application code for this repository is contained in the [`./app`](./app) directory.
To get started:
```bash
cd app/ && npm init
```All application deployments are managed via GitHub Actions and the [`./.github/workflows/deploy_application.yml`](./.github/workflows/deploy_application.yml) workflow.
### Infrastructure
The infrastructure code for this repository is contained in the [`./terraform`](./terraform) directory. The required Terraform version is `1.1.2`. The AWS artifacts managed in this repository are illustrated below.
To get started:
```bash
cd terraform/ && terraform init
```All infrastructure deployments are managed via GitHub Actions and the [`./.github/workflows/deploy_infrastructure.yml`](./.github/workflows/deploy_infrastructure.yml) workflow.
![](./assets/architecture.svg)