Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Network: Peer-to-Peer Sharing

A full-stack project peer-to-peer file-sharing platform facilitating decentralized file distribution among multiple peers.

Capstone Project | Team Size: 1 Timeline: 5/2025 - Now


📌 Description

This project implements a simplified BitTorrent-style network, consisting of:

  • Tracker Server: Manages peer registrations and distributes file metadata.

  • Peer Application: Each peer can announce available files, query the tracker, and download or upload file chunks to other peers.

  • Web UI: Real-time dashboard to monitor tracker and peer status.

Support decentralized protocols and P2P interaction in learning environments.


🚀 Technologies Used

Backend

  • Node.js, Express.js

  • RESTful API design

  • UUID for peer identification

Frontend

  • React.js, Vite

  • Tailwind CSS for styling

  • Axios for HTTP communication


🧹 Core Functionalities

  • Peer Registration: Register and deregister peers with the tracker.

  • File Announcement: Peers announce available files and their chunk availability.

  • Chunk Exchange: Peers request and serve file chunks to each other.

  • Real-time Monitoring: Web dashboard displays online peers, shared files, and transfer statistics.


🛠️ Setup Instructions

  1. Clone repository
  • git clone https://github.com/doandinhhao/computer-network.git
  • cd computer-network
  1. Install dependencies
  • npm run install-all
  1. Configure environment
    • Create a .env file at project root:
      • TRACKER_HOST=http://localhost
      • TRACKER_PORT=3000
      • PEER_PORT=3001
      • FRONTEND_PORT=5173
  2. Run components
  • Tracker: npm run tracker
  • Peer: npm run peer
  • UI: npm run front
  1. Multi-peer test
  • npm run test

Visit http://localhost:5173 to view the dashboard and peer UI.

📶 Local Access

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages