Skip to content

A modern file-sharing app built using the Flutter framework and powered by Riverpod. This app allows users to effortlessly share and receive files across different platforms. With an intuitive and user-friendly interface, Flutter Sharez redefines the way you share files.

License

Notifications You must be signed in to change notification settings

88-degrees/file-sharing

 
 

Repository files navigation

Flutter Sharez 🚀

Flutter Sharez Banner

GitHub Workflow Status codecov

GitHub GitHub Repo stars GitHub all releases GitHub repo size GitHub issues GitHub pull requests

Flutter Sharez is a modern file-sharing app built using the Flutter framework and powered by Riverpod. This app allows users to effortlessly share and receive files across different platforms. With an intuitive and user-friendly interface, Flutter Sharez redefines the way you share files.

Features 🌟

  • 🔄 Cross-Platform: Flutter Sharez is developed using Flutter, ensuring seamless performance and a consistent user experience across multiple platforms, including iOS, Android, Linux, MacOS, and Windows.

  • 📁 File Sharing: Share files of various formats, such as images, documents, videos, and more, with just a few taps. Receive files from others as well.

  • 🖼️ User-Friendly Interface: The app features a clean and intuitive interface that makes sharing and receiving files a breeze, even for first-time users.

  • 🎨 Theme Options: Flutter Sharez offers a customizable theme experience. Choose between light, dark, or let the app automatically switch based on system preferences.

  • 🚀 Riverpod Powered: Flutter Sharez utilizes the Riverpod state management library, enabling efficient and scalable state management throughout the app.

  • 🔄 Resumable Downloads: Introduce the ability to resume interrupted or paused downloads, ensuring a seamless download experience even in case of network disruptions.

  • 🌐 Localization Support: Elevate the experience with multi-language support and localization.

  • ⚙️ Settings: Access the app's settings to customize your experience, including options to check for updates and navigate to download pages for downloading updates.

  • 🐛 Bug/Feature Report: Easily report bugs or suggest new features to help us continually improve Flutter Sharez.

Screenshots 📸

Sender Screen

Receiver Screen




Installation 🛠️

To get started with Flutter Sharez, follow these steps:

  1. Clone the repository:

    git clone https://github.com/88-degrees/file-sharing.git
  2. Navigate to the project directory:

    cd file-sharing
  3. Install dependencies:

    flutter pub get
  4. Run the app:

    flutter run

For more detailed instructions, troubleshooting, and additional setup options,

Packages Used 📦

  • ai_barcode_scanner: A barcode scanning package that uses AI to recognize barcodes in images or camera streams.

  • alfred: A Dart package for server-side management, simplifying tasks such as handling requests, routing, and resource management.

  • auto_route: A powerful routing package that generates named routes and simplifies navigation in your Flutter app.

  • dart_jwt_token: A package for working with JSON Web Tokens (JWT) for secure authentication and authorization.

  • dio: A versatile HTTP client for making network requests, handling responses, and working with interceptors.

  • dio_smart_retry: An extension for Dio that provides smart retry mechanisms for failed HTTP requests.

  • file_picker: A package for picking files from various sources, including the device's storage and cloud services.

  • flutter_riverpod: A state management library based on Provider, enabling reactive and efficient app state management.

  • hive_flutter: A lightweight and fast NoSQL database for Flutter, providing local storage capabilities.

  • lottie: A Flutter package for displaying Lottie animations, adding dynamic and interactive animations to your app.

  • qr_flutter: A package for generating QR codes as widgets in your Flutter app.

For a complete list of dependencies, including minor packages, please refer to the pubspec.yaml file.

To-Do Features 📝

Here's what's on the horizon for Flutter Sharez:

  • 📂 Already Downloaded File List: Display a list of files already downloaded for easy tracking.

  • 📡 Manual Connections: Empower users to connect with other devices manually, taking charge of the sharing process.

  • 📷 QR Scan: Introduce QR code scanning to swiftly and securely share files.

  • Code Push Support: Implement code push functionality using Shorebird for seamless and efficient app updates without requiring users to download a new version.

Stay tuned as we work on these exciting enhancements!

These are just a few of the exciting features we have in mind. Stay tuned for updates as we continue to enhance Flutter Sharez!

Contributing 🤝

Contributions are welcome! If you encounter any issues or have ideas for enhancements, feel free to create issues or pull requests in this repository.

Getting Started

  • Fork the repository.
  • Clone the forked repository to your local machine.
  • Create a new branch for your changes.
  • Make your modifications or additions.
  • Commit your changes with descriptive messages.
  • Push your changes to your forked repository.
  • Create a pull request to the original repository's main branch.

Guidelines

  • Follow the project's coding style and conventions.
  • Provide detailed descriptions in your pull requests and issues.
  • Be respectful and considerate in discussions.

Your contributions help improve and grow the project!

License 🍀

This project is licensed under the MIT License.

About

A modern file-sharing app built using the Flutter framework and powered by Riverpod. This app allows users to effortlessly share and receive files across different platforms. With an intuitive and user-friendly interface, Flutter Sharez redefines the way you share files.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Dart 95.8%
  • C++ 2.0%
  • CMake 1.6%
  • Ruby 0.2%
  • Swift 0.2%
  • C 0.1%
  • Other 0.1%