Skip to content

Instantly share code, notes, and snippets.

@Decicus
Last active July 5, 2016 10:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Decicus/afe9302d65fae4cc4113 to your computer and use it in GitHub Desktop.
Save Decicus/afe9302d65fae4cc4113 to your computer and use it in GitHub Desktop.
Twitch Subscriber Area 2.0

Sooner or later, this will become so filled with code it needs to be rewritten to be more modular and developer-friendly. This should become 2.0 and here are my main ideas for it.

  • Revamp how multiple streamers are handled.
    • Currently if you're subscribed to one streamer, you get access to all posts. This is intentional behavior, but I would also like to support per-streamer subscriber areas. So there is one shared one between all streamers and one dedicated for each streamer. (Possibly also add the possibility of sharing a subscriber area between some streamers, but not all. Not really something I think is that useful though).
  • Change from procedural MySQLi to PDO interface for MySQL. Prepared statements and whatnot.
  • Revamp moderators and administrators. Change who does what, possibly add another "root" level of who can manage administrators.
  • Implement theme support.
    • If I stick to using Bootstrap, make it easier to change the theme.
    • If I stop using Bootstrap: I guess it's time to add make a design and possibly just add support for it overall.
  • (Probably) Revamp file-download idea (#3).
    • The implementation for this will probably be pretty bad. I suspect it's not going to be that great, and that it needs rewriting together with everything else.
  • Plugin system?
    • At least if it's already going to be modular, I might as well add support for this as well.
  • Website and documentation (for plugin developers, possibly theme creators).
  • Move some of the configuration over to the database.
    • I'm thinking of keeping just the MySQL connection info in the config, and the rest of the config (Twitch developer application info and such) in the database. Probably the best, in my opinion.
  • Configurations for IIS, nginx and Apache. The most common web servers that I have used and know of.
  • Edits:
    • August 2nd 2015:
      • Deprecate PHP 5.3
      • Possibly add some sort of auto-update system?
    • August 11th 2015:
      • Move certain things clientside, to reduce server load (and page load time).
        • (October 6th 2015): To clarify this, this would mean to check subscriber info on the clientside, then pass the channels back to the serverside so the serverside only checks the channels that the clientside passes. This would reduce server load, at least compared to the current method, where nothing loads until the server has checked the subscriber information.
        • In instances like The Blacklist website, it checks up to 20+ partnered streamers (depends on who you're subscribed to). If you're not subscribed to any of the partnered streamers, load time is ridiculously long. So an API of some sort would be a good idea.
    • December 14th 2015:
    • May 22nd 2016:
      • Add support for 2FA?
    • July 5th 2016:
      • Hook into the Discord API somehow?
        • In cases like The Blacklist Discord, we have a lot of streamers I want to put into a role. This is currently done manually, and it's kind of a pain in the butt.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment