Versions v1 and v2 don't have dedicated blog posts
V1
- This originally lived in it’s own Github repository and manually deployed to Cloudflare pages
- I defined our matches and added Youtube URLs in markdown
V2
- I moved to being data driven, all from one file
- AI sped this up
v3 and now
- Created ics files based on the season’s schedule
- Created a public bucket and routing rules to make accessing it easier
graph TD; AAA[Daily cron] AA[Edit volleyball-data.json in git] A[windmill.dev parses json file and creates ics files] B[Saves to data.lanekatris.com - Cloudflare R2] BB[Saves to internal minio storage] C[Updates monorepo/volleyball website] D[Manual deploy to Cloudflare Pages] AAA-->A; AA-->A-->B; A-->BB; AA-->C-->D;
volleyball calendar generation

https://www.npmjs.com/package/ical-generator http://server1.local:9001/browser/public/volleyball%2F https://www.zoho.com/toolkit/ics-file.html

i passed my cpu through per the docker recommendation
Build | Storage & databases | R2 object storage | Lanekatris@gmail.com’s Account | Cloudflare
-
nicetohave I would also like if via web browser do html if curl do json
-
nicetohave generate a calendar for all teams and individual ones
-
nicetohave create a zod schema to validate things AI
- Make sure my calendar url does not include https or webfeed as that needs added in the presentation layer
-
according to AI webfeed is only on Apple, weird
-
I have a public bucket here: https://data.lanekatris.com/volleyball/ripley-all-v1.ics
-
I set up url rewrites in cloudflare so instead of getting a 404 when navigating to the root of data.lanekatris.com you get a json file
- I made this work with curl too, so it handles http and if there is a trailing slash or not. Not sure how to get regex working
curl data.lanekatris.com- Feels so good
- Before, I did a redirect rule, so you needed
curl -L data.lanekatris.com - I don’t know how to get a regex to work
- https://dash.cloudflare.com/3ebca05f3bc1ae6ba8b889f550921295/lanekatris.com/rules/overview?type=http_request_transform
