Skip to content

AlexandrosLiaskos/OpenTransfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Overview

This project is a web-based file transfer application that allows users to send and receive files directly between browsers using WebRTC. It utilizes QR codes for easy connection setup between devices.

Core Technologies

  • HTML5/CSS3: For the user interface.
  • JavaScript (ES6+): For the application logic.
  • WebRTC: For peer-to-peer file transfer.
  • QR Codes: For connection establishment.

File Structure

  • index.html: The main entry point of the application.
  • styles.css: Main stylesheet.
  • css/qr-webrtc.css: Stylesheet for the QR code and WebRTC components.
  • js/main.js: The main application logic, including UI updates and event handling.
  • js/connection/: Contains the logic for managing different connection methods.
    • connection-manager.js: Manages the overall connection state.
    • qr-connection.js: Handles the QR code generation and scanning for connection setup.
    • webrtc-helper.js: A utility module for WebRTC related operations.
  • js/state/: Manages the application state.
    • connection-store.js: A store for connection-related data.
  • js/ui/: Contains the UI components.
    • connection-ui.js: UI components for the connection process.
    • status-bar.js: The status bar component.
    • transfer-ui.js: UI components for the file transfer process.
  • js/utils/: Contains utility modules.
    • file-chunker.js: A utility for splitting files into chunks for transfer.
    • qr-manager.js: A utility for managing QR codes.

How it works

  1. The user opens the application in their browser.
  2. A unique QR code is generated for the user.
  3. The user on another device scans the QR code to establish a WebRTC connection.
  4. Once the connection is established, the users can select files to transfer.
  5. The selected files are split into chunks and sent over the WebRTC data channel.
  6. The received chunks are reassembled on the other end and the file is downloaded.

Next Steps

  • Implement the file transfer logic.
  • Implement the UI for the file transfer process.
  • Add support for multiple file transfers.
  • Add a progress bar for the file transfer.
  • Improve the UI/UX of the application.

About

Serverless P2P file transfer using WebRTC with PIN-based authentication

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors