Aplikasi berbagi file lokal yang berjalan melalui koneksi TCP.
Saat client membuka aplikasi, IP akan otomatis disimpan,
dan proses transfer dapat dimulai setelah client menambahkan alamat IP server.
Kivy: Library utama untuk GUIPlyer: Untuk akses file fia Android/iOSTinyDB: database local noSqlkivyMd: untuk icons dengan widget barusuprabase: untuk menyimpan data secara cloud pswd (databse) : P-share*-0w*
daftar page,fitur untuk aplikasi Berbagi File Lokal | Python + kivy (tanpa internet, via socket TCP):
┌─────────────┐ WiFi LAN ┌──────────────┐ │ Client │ ─────────────────────▶ │ Server │ │ (Pengirim) │ │ (Penerima) │ └─────────────┘ └──────────────┘
- server menunggu file masuk dan client akan mengirimkan file
- salah satu aplikasi harus berperan sebagai server, dan yang lain sebagai client.
- Halaman Utama (Dashboard)
- management file
- Status koneksi: “Tersambung ke jaringan lokal” / “Tidak tersambung”
- Share (Sender | Receiver) Serder atau Client
- Tombol Pilih File / Folder
- Daftar file yang akan dikirim
- Input alamat IP perangkat penerima
- Tombol Kirim
- Progress bar pengiriman
- Notifikasi sukses/gagal
- Receiver__ atau Server
- Tombol Mulai Menerima
- Menampilkan alamat IP lokal (untuk diketik oleh pengirim)
- Daftar file yang diterima
- Opsi folder tujuan penyimpanan
- Progress bar penerimaan
- Profil
- Ganti port komunikasi (default: 9090)
- Folder default penyimpanan
Warna-warna ini dikonversi ke format Kivy rgba (range 0–1), sehingga langsung bisa digunakan pada properti seperti .md_bg_color, .text_color, dll :
Hitam Abu Gelap (background utama)= [27/255, 30/255, 35/255, 1] #1B1E23Biru Neon= [0.0, 0.639, 1.0, 1] # #00A3FFBiru Laut= [0.117, 0.564, 1.0, 1] # #1E90FFMerah Terang= [1.0, 0.231, 0.188, 1] # #FF3B30Hijau Mint= [0.596, 1.0, 0.596, 1] # #98FB98Putih Bersih= [1.0, 1.0, 1.0, 1] # #FFFFFFAbu Lembut= [0.75, 0.75, 0.75, 1] # #BFBFBFUngu Neon= [0.6, 0.4, 1.0, 1] # #9966FFAmber Hangat= [1.0, 0.749, 0.0, 1] # #FFBF00Kuning Lemon= [1.0, 1.0, 0.4, 1] # #FFFF66Cyan Soft= [0.529, 0.808, 0.922, 1] # #87CEEB ** warna untuk Hover , Press , focus**Hitam Abu Lebih Gelap (hover)= [20/255, 22/255, 26/255, 1] #14161ABiru Neon Gelap= [0.0, 0.45, 0.71, 1] # #0073B5Biru Laut Gelap= [0.08, 0.4, 0.7, 1] # #1466B2Merah Gelap= [0.75, 0.15, 0.13, 1] # #BF261FHijau Mint Gelap= [0.4, 0.8, 0.4, 1] # #66CC66Putih Abu= [0.9, 0.9, 0.9, 1] # #E6E6E6Abu Gelap= [0.5, 0.5, 0.5, 1] # #808080Ungu Neon Gelap= [0.45, 0.3, 0.75, 1] # #724CBEAmber Gelap= [0.8, 0.6, 0.0, 1] # #CC9900Kuning Lemon Gelap= [0.8, 0.8, 0.3, 1] # #CCCC4DCyan Soft Gelap= [0.35, 0.6, 0.75, 1] # #5999BF warna untuk popup infoSuccess= [0.2, 0.8, 0.4, 1] # #33CC66 — hijau lembut tapi mencolokError= [0.9, 0.2, 0.2, 1] # #E63333 — merah terang kontras di latar gelapWarning= [1.0, 0.65, 0.0, 1] # #FFA500 — oranye terang (seperti amber neon)Info= [0.0, 0.75, 1.0, 1] # #00BFFF — biru terang segar untuk notifikasi/info
Aktifkan virtual env di linux
source p-share/bin/activateKonfigurasi Plyer (untuk Android) Tambahkan ke buildozer.spec:
requirements = python3,kivy,plyer
android.permissions = READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE| Struktur Folder | Deskripsi |
|---|---|
assets/file |
Folder hasil upload pengguna (digunakan client & diatur di profil) |
tets/ |
Folder uji coba |
Network/ |
Backend & logika koneksi TCP |
receiver/ |
Folder penyimpanan file hasil transfer dari client |
database |
Folde menyimpan data (user login ,pathfile ,..) |
user |
folder menyimpan UI untuk user (login dan register) |
database.json = menyimpan isi database user (name,password,pathfile) session.json = untuk menyimpan namauser yang sedang login saat ini untuk cache
Auth :
saat user memasukan nama otomatis sesion yang sebelumnya akan di drop dan di buat sesion baru yang akan di hapus ketika user logout , pada menu signUp data user yang di register akan di simpan di database