Skip to content

Latest commit

 

History

History
 
 

social

Sinerider Social Services / Links

Project board - link

Airtable base - link

  • Leaderboard table - used to keep track of high scores that have been previously submitted to the service (includes invalid submissions), both for caching and UI presentation purposes.
  • Puzzles table - used to keep track of the queued (unpublished) and active (published) puzzles.
  • RedditCheckedId - Used for Reddit integration bookkeeping.
  • TwitterWorkQueue - Used for Twitter integration bookkeeping.
  • Config - Key/value table used for general service runtime configuration / bookkeeping

Services

sinerider-scoring (node - web service - digitalocean) repo / deployment

  • Is NOT exposed to end-user traffic. Exposes a /score endpoint that runs a Sinerider level using puppeteer/chrome and returns a scoring result (whether level is completed within 30 seconds, time taken, etc). Also returns a URL to a video showing the gameplay.

sinerider-api (node - web service - heroku) repo / deployment

  • IS exposed to end-user traffic. Exposes endpoints that allow for the retrieval and programming of daily puzzles. Integrates with the reddit and twitter bot and orchestrates them. Script that can be used to upload new random puzzles here.

sinerider-twitter-bot (python - web service + worker - heroku) repo / deployment

  • Is NOT exposed to end-user traffic. Has a worker and web service component. Worker is responsible for polling Twitter for new relevant tweets, queueing work for later processing, dispatching work to the scoring service, and auto-responding to Twitter submissions.

sinerider-reddit-bot (node - web service + worker - heroku) repo / deployment

  • Is NOT exposed to end-user traffic. Has a worker and web service component. Worker is responsible for polling Reddit for new relevant submissions, queueing work for later processing, dispatching work to the scoring service, and auto-responding to Reddit submissions.

sinerider-leaderboard (node - vercel) repo / deployment

  • IS exposed to end-user traffic. Is the UI portion of the leaderboard.