Frendnary brings the memories and lore of friend groups into their own central and collaborative private dictionary.
This project is a collaborative dictionary. It came about because my friends and I tended to come up with a lot of definitions for things and we kept them in the description of our group chat. Except its grown incredibly long and Im not sure when we will hit the word limit. But more than that, it holds a lot of memories and references to different times in our lives.
Currently it allows you to store lore and definitions. You can search, filter and trace back the person that submitted the item. The groups are designed to be collaborative so no one person should be an administrator. This means that a voting system will be implemented for any administrative decisions such as deleting a chat or removing someone from a group.
Academic Score Management System is a website that allows you to manage students and staff records. It has an API which allows you to manage student records and generate custom reports which can be viewed on the website.
Academic Score Management System is inspired by a project my team did in college. The project was a website where parents, students and teachers can go to manage and view their student’s score. Later, we did an IOT project which was a sort of continuation of the idea where it was a card scanner that could track student’s attendance.
The project would require some sort of storage, way to generate data and a place to display the analysis displayed on the device. So I decided to build an API and later on it evolved to a management system. So I have the team member who came up with the idea to thank.
Currently, ASMS allows you to:
The next steps for this project is to:
The goal of this project is to be able to drag and drop components, kind of like in Figma and be able to get the code for a website instantly!
This project may not even deserve a spot in my portfolio as it has not even begun. Well the project has started, however, the core part or the main part of the project which is the drag and drop functionality has had some difficulties.
While I was building it out I realised that the complicated thing with this project is the drag and drop functionality and state management for those components. I felt it was best to make this part its own project and use it as part of the web builder. Mainly, for reusability and abstracting away complicated logic.
I plan on continuing development of this sometime around August-September 2024.
Some annotation here: Green represents producers or the things that dispatch events, yellow represents consumers or the things that subscribe to an event and blue represents a service that hides away logic like making requests to the API. Main would be the script that ties everything together. The project follows the observer pattern.
SchoolScanner is actually a group project but I thought it was worth mentioning from an architecture point of view.
This project is for an IOT class and is supposed to be a device that you put in front of the school and students swipe their card each day to mark that they attended. The scanner communicates with the ASMS API to store data.
The scanner does not use a real card scanner due to a lack of resources but instead uses a fake “runner” script. The runner script will run the scanning process for as many cards are on the API for 1 week and then generate a report which is visible on the API.
For this project I had to go a bit outside my comfort zone and use event-driven architecture. While this is about good practice and writing clean code it is also about clearly showing a distinction between the runner, the fake card scanner, the fake button to generate a report, and the actual software.