This effort is to improve my job application eligibility by learning some modern new tech, creating something to point at and write about it as I go so others may also learn.
Create something using TypeScript, React and some other new hot backend tech. Stretch goal of applying k8s. Write about this at each step of the way in a separate blog.
Track wins from the Dungeon Crawl servers and display them in a browser.
The core of the work focuses solely on picking out wins in the “logs” of the official DCSS servers (but just 1 server to begin with) and making that data accessible and displayable.
- A backend server to fetch the games and expose an API of recent wins
- A key/value store for tracking the state of the backend server
- A static content server that serves an SPA which displays the recent wins
- Blog + posts, nothing overly fancy, most of the work should be thinking + writing not mucking about with blog software!
- Stretch: A backend server which posts wins to Mastodon (account to be created on the botsin.space server or other relevant server).
- Deno as the runtime with the code written in TypeScript
- React frontend of some kind, maybe just vanilla React?
- Not sure for key/value store ??? Maybe just KV?
- Blog in Hugo or Gatsby … too many damned options! Ok possibly also jekyll (generate on my Mac) or cryogenweb because it’s also clojure but not too fussed.
- Maybe better implemented as an event–based system … something for another iteration.
There will be a server for serving the logfile just like for real. This may need to simulate the log file changing over time. Or perhaps we simulate this in the fetcher. The logfile fetcher grabs the tail of the logfile and finds any recent wins. It remembers where it got to in the logfile for the next request. The use case is a scheduled call to the logfile fetcher endpoint rather than random (in time) access.