DIMMiN Notes

My working notes related to the development of dimmin.com.

Clear Filters

2026-07-01-Wednesday

Read more

2026-06-30-Tuesday

  • Implemented a fix using a Django Management Command to de-dupe / merge TwitchUser objects that had the same user_id
  • Included the psql installation in my Dockerfile so I can use Django DBShell to log into the PostgreSQL database directly for each user with their respective scoped permissions (i.e the dev account can only access the dev database, the test account can only access and alter the test database, etc.)
  • Integrated TwitchFollow, TwitchChannelPointsRedemption, TwitchShoutOut, and TwitchAdBreak
  • Pushed changes to Production, specifically including integration tests into the workflow as a final check.

Read more

2026-06-29-Monday

  • Implemented caching for broadcaster TwitchUser model so I don't have to get it from the database each time
  • Started parsing twitchbot logs in Integration Tests allowing me to automatically catch twitchbot errors during testing
  • Began storing logs for each app in the /app/logs/APP_NAME.log directory.
  • Attempted to push through to Production but realized I needed to correct the duplicate User IDs before migrating.
  • Accidentally attempted to merge a failed test deployment into the master branch, but thankfully my CICD Pipeline blocked it since test failed deployment. Cool!

Read more

2026-06-28-Sunday

  • Woke up this morning to see that OAuth tokens were rotated and seem to be properly handled in test and production environments now.
  • Used this ErrorComponent from the twitchio docs to handle the command errors regardless of HOST_TYPE (so that the test environment could also handle errors in the same way)
  • Installed the Twitch CLI and managed to create and send test events directly to the application (which can be picked up by the dev bot) so I can test data extraction from data payload objects
  • Worked on updating Unit Tests and developing Integration Tests to test data collection before it goes to Production
  • Saved my first event (a TwitchRaid) using Django's Asynchronous save (asave) command instead of sync_to_async

Read more

2026-06-27-Saturday

  • Completed OAuth flow setup
  • Realized that a single twitch application can support and monitor many different users
  • Pushed updated code through to Production
  • Reached out to catalixia to ask her to authorize the apps for the test and Production environments
  • catalixia authorized both test and production apps, bot worked in production
  • Identified and fixed a bug when extracting from a Token payload during auto-refresh, now this bot should handle any necessary
  • Created utility functions that can check the validity of access tokens and also revoke them

Read more

2026-06-26-Friday

  • Created a script to automate the database migration process from SQLlite to PostgreSQL from the running Portainer server (including wiping existing database and authorizing scoped users)
  • Updated TwitchCredentials so that all information required for an app is associated with the same object
  • Updated the OAuth flow so that refresh tokens and access tokens wait for user to authenticate before starting the bot
  • Pushed new OAuth flow through to production, set up catalixia's credentials so we can start testing data there.

Read more

2026-06-25-Thursday

Read more

2026-06-24-Wednesday

Read more

2026-06-23-Tuesday

  • Completed OAuth token handling so that tokens are stored in the actual PostgreSQL database (not a separate tokens.db file)
  • Created the streamer user group
  • Implemented an admin Mixin so that only users who are logged in can access the actual dashboard
  • Installed Python django-extensions for some useful Django tools that make development easier
  • Installed Python django-axes to track and apply Rate Limits to user login attempts
  • Pushed the new code through to test but hit some errors with the Static Files before pushing to prod
  • Fixed the EACCESS error by re-assigning permissions to all Docker created files to files that the GitHub Runner can alter

Read more

2026-06-21-Sunday

  • Created databases and roles on the PostgreSQL server that could programattically access their respective databases, preparing for the migration from SQLlite

Read more