Thermatracker
Thermatracker was a static website created with a Java backend. The frontend was created through pure HTML and uses raw CSS styling. The backend was created with the Javalin web framework and interfaces with an Sqlite database using JDBC. The website was created as a group project between myself and another student as part of one our first year courses.
Game of Life
This project was a recreation of the popular cellular automaton by John Conway. The simulation was built using Java and its Swing GUI library. It starts with the activated cells being randomized, however, in its paused state, a user may manually set the activation state of each cell. This was a hobby project of mine.
Generating and Solving mazes in Minecraft
This project involved generating mazes using the recursive backtracking algorithm and also, solving them through a right hand wall following algorithm or a breadth first search (depending on the mode). The mazes were created in minecraft through an external API (mcpp) that allows interfacing with minecraft through C++. The API also allowed sensing the minecraft environment so that the mazes could be constructed on uneven terrain in such a way that a player would not be able to cheat. This was a group project(4 students) done as part of one of first year courses and I was involved in the generation of the mazes.
Snake game
A recreation of the classic snake game. The project was built on Java using the Java Swing GUI library. The game has features built in allowing a player to pause their game, restart the game or exit. The game keeps track of the current score of the player which is determined by the length of the player. The movements of the snake also get progressively faster as the player's score increases. This was another of my hobby projects.
3D Maze Generation and Maze Solving
The aim of this project was to generate 3D mazes with a variety of different algorithms and solve them using another set of algorithms. The algorithms implemented for generating mazes included recursive backtracking, Wilson's maze generation algorithm and a modified version of Prim's maze generation algorithm. The algorithms implemented for solving the mazes included the wall following maze solver, the pledge maze solver and a modified version of the A* path finding algorithm that would start its search from all available entrances. The project was built on Python and the visualisation was done through MatPlotLib. It was done as a part of one of my second year courses.
Soil
Soil was a mock e-commerce website created with another student as part of one my courses in my second year. The frontend of the website was created using React and MaterialUI. The backend of the website was implemented using Apollo Server integrating Express.js running on Node.js. The backend integrates with a MySQL database using the sequelize ORM. Soil included many features commonly found in e-commerce websites including profiles, shopping carts and reviews. It also included a diet plan feature which was made using the Edamam API. Soil communicated with its backend using a REST API that we also built.
Soil Admin
This was an extension of the soil project which was also created with a React + MaterialUI frontend. Soil Admin was made to allow managing the content and users of Soil. It shares a backend with Soil but, unlike Soil, Soil Admin uses GraphQL to communicate with the backend. This also allowed us to make real time updates to the dashboard metrics by leveraging GraphQL subscriptions. The dashboard metrics were created using the popular charting library Chart.js