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.
View Demo
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.
View on GitHub
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.
View on GitHub
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.
View on GitHub
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.
View on GitHub
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.
View on GitHub