Current and Previous Projects
The AnyQueue Music System (Completed)
Built June 2021
The AnyQueue project, took me about 2 weeks maximum to put together. This version of system was built in Ruby / Sinatra using the Spotify API and was my second time doing full stack development for a big project. The AnyQueue Music System allowed for the creation of rooms for Spotify Premium users, where they would then get a room code and be able to share it to others. In the rooms people have their own nicknames and can add songs to the room owner's spotify queue via a custom search menu, a list of all user added songs is then visible in the main page.
I originally built a much smaller version of this project about a month prior in C# which only allowed people to add my spotify queue, however realizing the possiblity for expansion I switched to Ruby due to my familiarity with the platform for full stack database management. The server itself is hosted on AWS and is currently in Spotify Development mode as I haven't flagged it for public release yet, meaning that only me and certain beta-testers can actually make accounts, apart from that though the system is finished.
The website is accessible for you to view via clicking the link below.
Link to AnyQueue Music System
The eParent Revision Monitor (Completed)
Built Nov 2019- Mar 2020
The eParent project, has been one of my longest overall projects so far (5 months in background), not because of how complicated the base system was itself but more in the lack of libraries used and where I had to make up the difference. This was my coursework for my A-Level Computer Science NEA (Non-exam assessment) where the use of libraries and focus towards appearance was discouraged to maximise marks for complex behaviour, and in doing so I went beyond this requirement such as creating my own RSA encryption for client-server communication.
The project was originally built to help me in my studies revising for A-Levels at the time, and I had a base theory of how the program would work since 2017 where I was testing out random commands in Python. The program itself worked by asking user to make an account, where there information was stored on a server and then during pre-specified revision times, revision questions taloured towards the users information would then appear. In this revision time the user would be force to answer questions until the end of the session via background program detection which blocked specified programs, all Steam games and also web browsers depending on current window titles.
There is no official release of this system, and I plan to remake a more clean, efficient and aesthetically pleasing version in the future.
My A-Level demo is accessible for you to view via clicking the link below.
Link to Testing Demonstation
The eMentor WebApp (Completed)
Built Dec 2020 - May 2021
The eMentor website, was the main project in my first year COM1001 (Introduction to Software Engineering Module) at University. This website was a group project in which we originally tasked a group of 7 people to build this website and prior to the december starting point we had weekly client meetings to ensure we had all the required information. Unfortunately due to the current pandemical situation, only 4 group members including myself could actually contribute however even with the disadvantages we worked together to ensure a good quality product for our client.
The project was built in Ruby Sinatra, and was my first time attempting Full Stack Development. In this project due to it being a university project, security was not an actual requirement however this did not stop me from performing basic practises such as hashing and salting, ensuring non-consecutive IDs, random string cookie tokens, XSS preventation and more; unlike others groups.
I recieved a total of 92% for the year in that module, where in the first semester of the project we recieved a score 85% and in the second semester I recieved a perfect 100% for this project. Out of the 4 active members in the project I made approximately 2/3 of all commits and major changes allowing to me to recieve the prior grade, and throughout this project it filled me with confidence and inspiration to design my own websites and systems such as the AnyQueue system.
The Unofficial Discord Phone (In progress)
Building Aug 2021 - Onwards
The Unofficial Discord phone project is an experimental project of mine, I have not had the time as much recently to focus on said project with preparing for the second year of University but this project is intended to be a true test of my ability. I have personally never used an Arduino or Raspberry PI before, and therefore this challenge should allow me to improve my abilities and also help me learn a variety of new techniques along the way.
The first part of the project is to create a Discord webscrapper using selenium, I have already been experimenting with selenium for a while and have already managed to make a webscrapper auto call the last account I contacted and auto end the call after 5 seconds. Most of the base code is visible actually inside the image above where I am using a large amount of XPaths, this code may seem inefficient atm and it will be optimised in the future as I gradually become more familiar with the libraries.
I am building the GUI in Tkinter and am currently testing the ability to make calls via button clicks, and then I will adapt it to measure keyboard input, afterwhich I will then port the code over to Raspberry pi and fix any version errors. Once errors are resolved I will then start replacing the keyboard input with Arduino button input to navigate the GUI and then finally setup a miniature monitor to work as the landline screen. Once I have assembled the device I then intend to use my University's 3D printing service where I create the housing after possessing the post-wiring dimensions.
In theory this project shouldn't be that bad to accomplish however I already noticed that there may be an issue with Discord bot prevention where it requires mic input for a call to work, I'll research into this at a later point.
I will not be releasing source code to the public as with a few alterations this could very easily be used to make Discord Spam bots using user accounts and therefore I deem it risky, I do plan however to release a Youtube Video describing the system once I finish it.
The Sheffield Ethical Student Hackers Society Website
Assisting with HTML, JS and CSS changes when required
As Inclusions Officer for the Sheffield Ethical Student Hackers Society, I have to particapte in roles not just limited to inclusions but also that of a general committee member. During my time on committee so far, I've had to help design and present sessions teaching people the basics of Ethical Hacking as well as also making website changes when required.
As a commitee member I have make changes so far the meet the commitee page and fix formatting and introduce a fully functional hamburger menu (which after learning the skill I then implemented into this site) via the use of git and multiple branches.