aws-gocljs

aws-gocljs

just ship web on aws

github.com/nathants/aws-gocljs

why

fullstack web should be easy and fun.

how

start with working implementations of everything, then iterate!

fast and reliable automation.

easy browser testing.

what

a project scaffold for a fullstack webapp on aws with an infrastructure set ready-to-deploy with libaws.

the project scaffold contains:

a live demo on aws is here.

lambda zip

the lambda zip contains only 3 files:

>> ls -lh | awk '{print $9, $5}' | column -t

favicon.png    2.7K # favicon
index.html.gz  296K # web app
main           15M  # go binary

the index.html.gz:

<!DOCTYPE html>
<html>
    <head>
      <meta charset="utf-8">
      <meta http-equiv="Content-Security-Policy" content="script-src 'sha256-${JS_SHA256}'">
      <link rel="icon" href="/favicon.png">
    </head>
    <body>
        <div id="app"></div>
        <script type="text/javascript">
          ${JS}
        </script>
    </body>
</html>

the lambda zip itself:

>> ls -lh | awk '{print $9, $5}'
lambda.zip 4.6M

sdlc demo

dependencies

use the included Dockerfile or install the following dependencies:

aws prerequisites

install

git clone https://github.com/nathants/aws-gocljs
cd aws-gocljs
cp env.sh.template env.sh # update values

usage

bash bin/check.sh         # lint
bash bin/preview.sh       # preview changes to aws infra
bash bin/ensure.sh        # ensure aws infra
bash bin/dev.sh           # iterate on backend and frontend
bash bin/logs.sh          # tail the logs
bash bin/delete.sh        # delete aws infra