No description
Find a file
2025-05-04 14:01:42 -04:00
.github/workflows update how image is tagged (#72) 2025-04-10 20:45:06 -04:00
client add logout button (#79) 2025-05-04 02:21:17 -04:00
sample-stories add buffer to json editor (#40) 2023-10-30 19:16:49 -04:00
server update image (#80) 2025-05-04 14:01:42 -04:00
.gitignore Publish image (#60) 2025-02-16 00:15:44 -05:00
docker-compose.yml fix delete operation (#70) 2025-04-06 00:04:19 -04:00
README.md Publish image (#60) 2025-02-16 00:15:44 -05:00
setup.sh Add auth endpoints (#6) 2023-06-25 14:05:41 -04:00

CYOA - choose your own adventure app

Svelte + Fastify to play CYOA stories

Infrastructure:

  • Cloudflare R2 for blob storage
  • Cloudflare Pages hosted Svelte UI
  • NodeJS Backend
  • SQLITE DB for metadata

Running locally

Prereqs: podman-compose or docker-compose, node >= v18.18.2

  1. Generate self signed ssl certificates using ssl script
  2. Run the docker-compose file to get local S3, postgres, and nginx set up
  3. Add self signed SSL certificate to browser (to avoid https errors w/ google auth)
  4. Run server by running (cd server && num run dev)
  5. Run client by running (cd client && npm run dev)
  6. View https://localtest.me:8080

Testing k8s resources

Prereqs: minikube, kubectl

  1. Build the docker image on minikube (cd server && minikube image build -t cyoa-server .)
  2. Run server by running (cd kubernetes && GAUTH_CLIENT="" GAUTH_SECRET="" kubectl apply -f app.yml)
  3. Port forward the port using kubectl port-forward -n cyoa svc/cyoa 8080:8080

Note: If you want to test the k8s resource e2e, you can