GitTor - Iowa State Senior Design

08/2025 - 05/2026

Project Overview

GitTor is my senior design capstone project that reimagines how developers collaborate on code by eliminating centralized hosting platforms. Traditional platforms like GitHub and GitLab create single points of failure - if the platform goes down, collaboration halts. GitTor solves this by using a peer-to-peer torrenting protocol where every contributor hosts the repository, ensuring continuous availability. The system consists of two main components: a CLI tool written in C that handles repository seeding and leeching with torrent files, and a full-stack web application (Spring Boot backend, Angular frontend) that serves as a discovery platform for repositories. Security is ensured through GPG signature verification, preventing unauthorized commits. As Quality Assurance Lead for a 6-person team, I'm responsible for establishing testing frameworks, ensuring code quality, designing frontend pages, and maintaining comprehensive documentation.

Problem

Current Git hosting platforms create single points of failure. When GitHub or GitLab experience downtime, collaboration completely stops. Additionally, centralized platforms can modify repository contents, violate privacy policies, or arbitrarily block contributors.

Solution

Built a decentralized system where repositories are shared via P2P torrenting. Each contributor hosts the repository, eliminating downtime risk. GPG signatures ensure only authorized contributors can commit, and torrent file hashing guarantees data integrity.

Key Features

  • CLI tool for repository seeding and leeching via torrents
  • Full-stack web application for repository discovery
  • GPG signature verification for commit authorization
  • Decentralized repository hosting via P2P protocol
  • MinIO storage integration for .torrent files
  • PostgreSQL database for metadata management
  • Dockerized application stack for easy deployment

Challenges & Learnings

Challenges Faced
  • Integrating BitTorrent protocol with Git workflow
  • Implementing secure GPG signature verification
  • Coordinating development across CLI and web applications
  • Ensuring data integrity across distributed peers
  • Designing intuitive UX for complex P2P operations
Key Learnings
  • Advanced C programming for CLI development
  • P2P protocol implementation and networking concepts
  • Full-stack development with Spring Boot and Angular
  • Quality assurance processes and testing frameworks
  • Team leadership and cross-component coordination
  • Security considerations with GPG cryptography
  • Agile development methodologies in practice