VGPL is a simple web app and Twitch extension created primarily to learn, but also to allow sharing your recent Steam games without
actually sharing your Steam account, as well as providing additional information sourced from IGDB. The front page of the web app
simply pulls 5 random games from IMDB at a time and displays their data in card form. Linking an account requires confirming your identity with steam, but this gives no permissions
to this application - it only provides the server with your 64-bit Steam ID, which it can then use to retrieve any publicly available
info about your account like recent activity. Passwords in database are encrypted and salted with a unique salt per user, even with
complete access to the database it would require significant effort per password to crack them. As for your e-mail, I don't actually
use or confirm it in any way, so while using a real e-mail is probably easier to remember it's not strictly necessary.
The backend of the application is written using Express.js while both the web frontend and the Twitch extension are coded with
Vue.js and Tailwind CSS. The Twitch extension can be added to your About page here.
----------
Everything below this point is at least a decade old at this point, I'm simply going to leave it untouched unless I come back to one
of them to remake them in a more modern form. The styling of this page also has not been updated in a decade.
----------
Portfolio notes:
The Dungeon World character sheets are designed to work on any screen size through the Bootsrap responsive design library, and use only
two html pages for all the classes (with and without the spells section) while all class-specific data is stored in js files.
The language pages are coded using Angular.js and JQuery to facilitate creating recurring complex blocks, like translation examples with
associated audio files or sortable vocabulary lists, with minimal repetition of code in the source.
Both sections are personal projects, and not necessarily complete. The language section in particular is not completely filled out, and
many audio files do not play either because I have not actually recorded them or have made changes to the language that invalidated them.