A cross-platform intranet-based file sharing application built with Flutter, GoLang, and MinIO.
Repository Links ↥ Back to top
- Main Repository: OpenLake
- This Project Repository: File Sharing Application
About the Project ↥ Back to top
We often need to transfer files between mobile and desktop devices. Typically, this is done using WhatsApp, Telegram, or other internet-based apps, which is inefficient for local transfers.
This project enables direct file sharing over an intranet without requiring internet connectivity.
- Cross-platform intranet file sharing between multiple devices.
- Powered by MinIO (object storage server) for efficient file handling.
- Tech Stack:
- Frontend: Flutter
- Backend: GoLang
- File Storage: MinIO
Getting Started ↥ Back to top
Make sure you have the following installed:
-
Create a directory for MinIO: mkdir ~/minio
-
Run the server on port 9090: minio server ~/minio --console-address :9090
-
Navigate to the Go backend folder: cd backend
-
Create a
.env
file with: LOCAL_IP="" # Your local IP connected with minio (port 9000) ACCESS_KEY="" # MinIO access key SECRET_KEY="" # MinIO secret key -
Install MinIO Go SDK if missing: go get github.com/minio/minio-go/v7
-
Start backend: go run file-uploader.go
- Open the Flutter project in Android Studio.
- Update the upload/download endpoint IPs in the code with your local IP (port
8000
). - Run the application: flutter run
Usage ↥ Back to top
Once the setup is complete:
- Upload files from one device via the Flutter app.
- Files are stored in MinIO over your intranet.
- Download files seamlessly on other connected devices.
Example (start backend in one terminal):
go run file-uploader.go
And then run the frontend Flutter app: flutter run
Contributing ↥ Back to top
We welcome contributions from the community! 🎉
Please read CONTRIBUTING.md for guidelines before submitting a pull request.
Maintainers ↥ Back to top
- 👤 Ashish Kumar Dash
@ashish-kumar-dash
See MAINTAINERS.md for the full list.
License ↥ Back to top
Distributed under the MIT License.
See LICENSE for details.