Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xsalazar/image-slicer
✂️ This repository contains the backend AWS Lambda source code to slice mosaic images for the front-end website hosted at https://emojimosaic.dev
https://github.com/xsalazar/image-slicer
aws aws-lambda emoji lambda terraform
Last synced: 3 days ago
JSON representation
✂️ This repository contains the backend AWS Lambda source code to slice mosaic images for the front-end website hosted at https://emojimosaic.dev
- Host: GitHub
- URL: https://github.com/xsalazar/image-slicer
- Owner: xsalazar
- Created: 2022-05-04T19:06:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-15T21:44:50.000Z (about 1 month ago)
- Last Synced: 2024-10-17T10:19:42.895Z (29 days ago)
- Topics: aws, aws-lambda, emoji, lambda, terraform
- Language: JavaScript
- Homepage: https://emojimosaic.dev
- Size: 370 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# ✂️ Image Slicer
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 an image slicing service that takes in an image and will slice it into smaller 64px images. These images can then be used individually to recreate the larger image. This application leverages the [`sharp`](https://sharp.pixelplumbing.com/) library for quick, high-quality image manipulation.
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://emojimosaic.dev](https://emojimosiac.dev) for quick and reliable conversions.
## 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)