Projects
Website demos are fully working demo versions of these projects and may take a second to spin up as they use Render for free hosting. Official websites are live, non-demo websites and may have limited access available.
Personal Media Site Security
The Vance Algeria Media website contains the latest news on Vance Algeria and his latest achievements as well as professional activities. The media website contains an admin panel, which allows for articles to be posted to the website and accessible to the public. Due to the nature of public information accessibility, it is important that the security on the admin portal of the media website is locked down to ensure that no one other than the intended users are posting to the website. The website runs completely using Cloudflare’s infrastructure, using Cloudflare Pages for the frontend, and Cloudflare Workers (Serverless API) and D1 Serverless SQL Database for the backend. Security features I’ve implemented include short living JWT verification with Cloudflare Workers KV, rate limiting against brute force attacks and spam, and CSRF protection against other websites submitting unauthorized actions through the API. Not only was this project completely free to implement, but it was also a great Cybersecurity learning experience.
|
MyCustomFrame - Dimension Requests System
The MyCustomFrame Dimension Requests System helps employees at NGF Distributors generate shipping labels that correspond with customers' frame orders and then print them on a Dymo LabelWriter 450 thermal printer to ship the products. The Dimension Requests system is just one of many parts of an online frame ordering system that lets customers visually design frames to order, artists sell artwork to customers for commission, and employees manage orders such as retrieving order metrics, editing products offered, and approving or rejecting artist applications. Backed by a tech stack of Node.js, React, Express.js, and Cloud Firestore, the Dimension Requests System uses a Python print server for live browser label printing, downloadable Python label printing files, built-in label PNG rendering from ZPL code via FedEx's label API, and FedEx's API services to retrieve valid label information. Overall this project had a lot of challenges but was a big learning curve, especially being that it was my first time working with a project Sponsor. I had a great time working with my team and the teamwork we had was amazing.
|
Digital Wellness Manager
This Digital Wellness tracker can help you spend a healthy amount of time on Work, Leisure, and Sleep every day. It includes a daily display screen on the homepage, a leaderboard, live timer recording, and history viewing for the past 7 days with detailed charts. This project has a built-in user account system, which has an account recovery system and email verification upon signup. In addition to the website which is currently available, this project was also built on a mobile app for the Android operating system. While this was a school project, it was treated more as a personal project because I learned how to work with Node.js, Express.js, MongoDB, React, Vite, Flutter, JSX, and TypeScript. Working with my team to develop the Android mobile app was super cool compared to the previous contacts manager we did, which was a website only.
|
Jungle Contact Book
This contacts management website helps you keep track of your contacts, allowing you to search for them, add, edit, and delete contacts. This system uses pagination, only displaying 20 contacts per page, and live loading contacts from the server when either a page is flipped or a contact is edited. From this project I learned how to work with Apache, MySQL, PHP, HTML, and CSS. While this was a school project, the amazing thing about this project was working on the live loading and pagination system. Not only was it a critical thinking challenge to make the pagination and live loading system work as expected, but it also helped me to realize the effort that goes into design for how things should function.
|



