Sixth-World Sprawl Image

Sixth-World Sprawl

Oi Chummers, Welcome to the streets of Seattle, grab a soykaf and watch the latest trids.

For those who are unfamiliar with the game, Shadowrun is a Tabletop-RPG (think Dungeons and Dragons), set in the near future with a fantasy-cyberpunk theme. It has your usual assortment of fantasy elements, elves, dwarves, orks, and trolls, magic and dragons, as well as futuristic sci-fi with the Matrix and Mega-corporations.

One of my first Java projects was a Discord bot that allowed my friends and I to roll virtual dice quickly and easily, and integrate that into our tabletop games that we would play over Discord. When my friends and I started playing Shadowrun 3e, we added more game specific features to the bot and set about trying to make our own character generators and managers (as 3e is an older edition and digital tools for the game are sparse compared to newer editions). Recently I decided it would be best to move such features to their own site so that they can be accessed even without the Discord bot, giving us more options in the future.

HTML, CSS, and Bootstrap
As with any site uses HTML and CSS for main content delivery. Plus uses the framework bootstrap for a bit of consistency between page elements and a responsive design.
Javascript
There are many features on the site that allow the user to randomly generate results based on in-game rules, such as dice rolls or generating appropriate in-game matrix hosts and security. These generators use Javascript to quickly perform the calculations and modify the page to return the results.
Python/Flask
This site is built as a web application using Flask, with Python as the backbone to the library. This allows me to easily scale the website as need adding more complex functions via the use of various libraries, such as Jinja2 which allows me to build dynamic HTML pages using a template system.
MariaDB
Utilizes a back-end database running on MariaDB in order to manage and maintain aspects of the site such as registered users/admins and the characters that are displayed. Information from this database can either be accessed in the site, such as the characters page, or via the site's API.