My Projects

Windows Forms 2D Fortnite

In year 9 I was given an assignment to create an adventure game using windows forms, the idea was to create a laid out story/adventure game that would be easy to make. I decided to create a very basic 2d version of Fortnite which includes enemies, weapons and building. This was by far one of my favourite and most challenging projects which is what got me into programming.

View on GitHub
Simple Django Website

Over the 2024/2025 Christmas holidays I decided to create a simple django project that allows companies to track their users. Your able to create users which are stored using a SQLite database under a table called users. These users can then be edited, deleted, viewed or added to a company. This project was a great learning experience and helped me understand how django interacts with both the database and how models and forms work.

View on GitHub
Tkinter Check List App

In year 10 I was given homework to create a console application that would allow users to create a check list. I decided to take this a step further and create a GUI using tkinter that would allow users to create, edit, delete and view check lists. This project was incredibly fun and was a great learning experience which helped me understand how tkinter's frame layout system works while making a functional check lists GUI.

View on GitHub
Secure SQL Database

In year 10 I was given the assignment to create a secure sql database that follows the needs for a chosen business. I decided to create a database for a bowling alley that would store users and bookings that staff and customers could make. To secure my database, I used the following techniques:

  • Hashing: I used argon2 a popular one-way hashing tool to hash passwords and important data
  • Amazon Secret Key Service: I used Amazon's secret key service to track traffic that are requesting the connection string
  • Environmental Variables: I used environmental variables to store the connection information for the Amazon secret key service
  • Input Verification: I used input verification to ensure all inputs are suitable for the program
  • Parameterised Queries: I used parameterised queries to ensure that no sql injecting could be used to attack the database
  • N-tier Architecture: While my app is a console application I still used N-tier architecture to separate the logic and database
  • Two-Factor Authentication: I used Two-Factor authentication to ensure that a user's account would be more secure
View on GitHub
Pygame World Generation

In year 10 I was given homework to create a simple world generation program using pygame. In the game, its a 2d platformer where the player can move sideways across the world to see the terrain randomly generated which happens once you reach the edge of the screen. The terrain generation is stored so if u go back into a place you visited it will be the same. Even though this project was only small it was incredibly fun and I had fun messing around with the different world generation settings.

View on GitHub
Software Engineering Quiz

In year 10 I was given an assignment to create a console application that would allow users to take a quiz on software engineering questions. The quiz would ask questions about software engineering and would give the user a score at the end. I decided to take it one step further and make it using tkinter which was a very challenging while also adding a json database to store user accounts. This project was my first project that I did in software engineering and ended up getting graded 100%.

View on GitHub