Giter Club home page Giter Club logo

zipbolt's Introduction

ZipBolt

ZipBolt is a file-sharing platform that allows digital devices to share files at incredible speeds using WiFi Peer-to-Peer technology.

What's WiFi P2P/ WiFi Direct?

According to Wi-Fi Alliance, Wi-Fi CERTIFIED Wi-Fi Direct® enables Wi-Fi devices to connect directly to each other, making it simple and convenient to print, share, sync, play games, and display content to another device. Wi-Fi Direct devices connect to one another without joining a traditional home, office, or public network.

Wi-Fi Direct devices can connect anywhere, anytime—even when there is no access to a Wi-Fi network nearby. Wi-Fi Direct devices emit a signal to other devices in the area, letting them know a connection can be made. Users can view available devices and request a connection or may receive an invitation to connect to another device. When two or more Wi-Fi Direct-certified devices connect directly, they form a Wi-Fi Direct group using Wi-Fi Protected Setup™.

ZipBolt makes use of WiFi Direct service discovery APIs to allow devices to discover each other and create a network without the need for a server or router.

Communication Protocol

To maintain real-time communication across connected devices, ZipBolt has its own custom communication protocol that was built on top of the Sockets API. This communication protocol also makes it possible for ZipBolt to share any type of files and even directories across connected devices.

ZipBolt Features

  1. Very fast device connection with zero permission request🥰🥰.
  2. Low device discovery latency (avg - 300ms)🌪🌪.
  3. Rapid file transfer speeds with low network latency and high transfer bandwidth⚡️⚡️.
  4. Share all kind of files, even directories!✨✨.
  5. Beautiful user interface🌈🌈 + amazing user experience💫💫.
  6. Lightweight⚡️⚡️ when compared to other file transfer apps in the market😌😌.
  7. Privacy🤩🤩 - Doesn't request for your location/gps data.

App Screenshots

Light Mode

Dark Mode

Open-source libraries used

  • ShimmerLayout - Shimmer is an Android library that provides an easy way to add a shimmer effect to any view in your Android app.
  • Dagger/Hilt - Hilt provides a standard way to incorporate Dagger dependency injection into an Android application.
  • Android Jetpack - Jetpack is a suite of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices so that developers can focus on the code they care about.
  • Glide - Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
  • Junit4 - JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
  • Robolectric - Robolectric is a framework that brings fast and reliable unit tests to Android.

How to Run ZipBolt on android-:

  1. Transfer the apk file to an android device
  2. Install the app
  3. Run the app

Todos and Future plans

  1. Refactor app to follow clean architecture with multiple modules
  2. Increase test coverage across all layers
  3. Refactor File transfer layer into a library
  4. Migrate the UI to Jetpack compose
  5. Create ZipBolt for ios, macOS, Windows, Linux, etc

zipbolt's People

Contributors

pekwerike avatar roughnerd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

androbet

zipbolt's Issues

app is crashing

app is crashing on MainActivity

kotlin.UninitializedPropertyAccessException: lateinit property wifiP2pManager has not been initialized
Caused by: kotlin.UninitializedPropertyAccessException: lateinit property wifiP2pManager has not been initialized

Screenshot 2023-01-30 102431

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.