Skip to content
Dan Grebb edited this page Jan 21, 2024 · 2 revisions

Application Lifecycle Management

All JavaScript portions of the project are managed via pnpm. The project requires Node 20, but will likely run on 16 and 18 with some tweaks.

Frontend

Vite, Svelte, and SvelteKit. Some component packages. A lot of marked use to output static HTML via SSG when run in production.

The project was set up with the assumption that one day SSR and Docker will be used to run real-time rendering and requests to the API.

For now, GitHub Actions run the SSG, sync them static site to S3, manipulates robots.txt (if deploying to production), cachebusts CloudFront, and runs BackstopJS after deployment for visual regression (if a production release this already happened in STG).

Backend

Strapi CMS. Nothing else to it really. PostgreSQL and Sharp are hard dependencies.

Docker

Docker houses Strapi and its dependencies. The image runs on ECS Fargate and is deployed via publish to AWS ECR.

Running/Testing Local Docker

The Docker image has a local configuration, which connects to PostgreSQL via host.docker.internal.

Utility scripts set the proper environment configuration based on args passed in. To build a local Docker image, run dg d b l, or dg docker build l - the l is for local.

After that, run dg d r l or dg docker run l. You should see:

❯ dg d r l

 ____   ___  ____  ____  ____  ____
(    \ / __)(  _ \(  __)(  _ \(  _ \
 ) D (( (_ \ )   / ) _)  ) _ ( ) _ (
(____/ \___/(__\_)(____)(____/(____/
v3.16.1

Setting Strapi .env...

Setting  Docker environment variables...

Running local container...
[+] Running 2/0
 ✔ Network dgrebb-com_default   Created                                                                                           0.0s
 ✔ Container dgrebb-com-back-1  Created                                                                                           0.0s
Attaching to back-1
back `|
back | > cms.dgrebb.com@3.16.1 start /app
back | > strapi start
back |
back |
back |  Project information
back |
back | ┌────────────────────┬──────────────────────────────────────────────────┐
back | │ Time        │ Sun Jan 21 2024 07:13:10 GMT+0000 (Coordinated …        │ 
back | │ Launched in │ 1480 ms                                                 │
back | │ Environment │ development                                             │
back | │ Process PID │ 33
back | │ Version     │ 4.17.1 (node v20.11.0)                                  │
back | │ Edition     │ Community                                               │
back | │ Database    │ postgres                                                │
back | └────────────────────┴──────────────────────────────────────────────────┘
back |
back |  Actions available
back |
back | Welcome back!
back | To manage your project 🚀, go to the administration panel at:
back | http://localhost:1337/admin

Open up the CMS. Images won't work, FYA.

Clone this wiki locally