Projects
Video Game Music Database
- Full-stack Node/Express app with SQLite for managing video game music inventory.
- Designed and implemented relational database schemas for customers, orders, albums, songs, and composers.
- Built full CRUD functionality to add, update, view, and delete records across multiple tables.
- Used EJS templating for dynamic server-rendered views and intuitive user interactions.
Pawfect Match – Full-stack animal adoption website
- Developed a Flask/MySQL RESTful API with user authentication and session management.
- Integrated a React frontend with dynamic routing and API-driven data handling.
- Designed a relational database schema for animals, breeds, and adoption workflows.
- Collaborated in a team of four and deployed the full-stack app to a remote server.
Tarpaulin API – RESTful course management API
- Built a RESTful API in Python for course, user, and enrollment management.
- Deployed on Google App Engine using Datastore and Cloud Storage.
- Secured endpoints with Auth0 and role-based JWT authentication.
- Tested all endpoints using Postman to validate authentication, data handling, and responses.
Traceroute – Custom network diagnostic tool
- Socket-based ICMP traceroute tool with per-hop RTT measurement and packet validation.
- Handles and interprets ICMP errors like TTL expired and unreachable.
- Validates ICMP replies using sequence, ID, and data checks.
- Reports comprehensive RTT statistics and packet loss metrics.
Reliable Data Transfer (RDT) – Simulated transport-layer protocol
- Implements a Go-Back-N protocol with pipelining and flow control.
- Handles packet loss, corruption, reordering, and delay using timeouts and retransmission.
- Validates segment integrity with sequence numbers and checksums.
- Runs in a fully unreliable simulated environment.
Chess Variant – Custom chess game
- Implements unique rules where players cannot check the opponent’s king.
- Victory is achieved by racing the king to the 8th row without violating rules.
- Validates legal moves and turn-based logic using object-oriented design.
- Enforces all constraints in a terminal-based play environment.