bytesizelinks

command module
v0.0.0-...-c3b309f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2021 License: MIT Imports: 3 Imported by: 0

README

Overview

A web app that converts any URL to a short "byte-link", which can easily be used and shared. Below are some examples:

Website: https://bytesize.link

Architecture

There are Terraform modules to deploy the web client, CI/CD pipeline, and infrastructure to AWS. These modules are found in tf_modules.

The Lambda functions can be found in the lambda_src directory.

Infrastructure Diagram

Architecture
Notes

Code Release Diagram

Architecture
Notes
  • CodePipeline is automatically triggered whenever it detects a change in this GitHub repository:
    1. The code is compiled with CodeBuild, and unit tests are executed against it.
    1. Once the code is built, and the unit tests pass, the build artifacts are stored in an S3 bucket.
    1. CodeDeploy uses the stored artifacts and deploys the updated app into the web servers.
  • CodeDeploy uses a Blue/Green Deployment, using two live environments:
    • Blue: Uses the existing code
    • Green: Uses the new code
    • After validating that the green environment works properly, I can choose to remove the blue environment
    • If the green environment has issues, I can quickly switch back to the blue environment

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
src
api
Package api handles invocations to backend APIs.
Package api handles invocations to backend APIs.
httphandler
Package httphandler is used to render webpages.
Package httphandler is used to render webpages.
inputvalidation
Package inputvalidation implements additional functions to validate input given to the web client.
Package inputvalidation implements additional functions to validate input given to the web client.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL