|
1 | 1 | # Floaty |
2 | | -## An unofficial floatplane client for Windows, Linux, Android, AndroidTV and Firetv. |
| 2 | +#### An unofficial Floatplane client for Windows, Linux, MacOS, iOS, Android. |
| 3 | +#### ⚠️Spaghetti code |
| 4 | +This repository is the tartar sauce spaghetti code of Floaty. |
3 | 5 |
|
4 | | -This respository is the tartar sauce spaghetti code of Floaty. |
| 6 | +### [Download Here](https://floaty.fyi/download) |
| 7 | + |
| 8 | +## 📃Feature Matrix |
| 9 | +| **Feature** | **Windows** | **MacOS** | **Linux** | **Android** | **iOS** | **Info** | |
| 10 | +|----------------------------|-------------|-----------|-----------|-------------|---------|---------------------------| |
| 11 | +| **Channel Page** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 12 | +| **Post Page** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 13 | +| **Playback** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 14 | +| **Livestream Page** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 15 | +| **Livesteam playback** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 16 | +| **Live Chat** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 17 | +| **Floatplane Settings** | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | Some settings are there. | |
| 18 | +| **Home Page** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 19 | +| **Whenplane intergration** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 20 | +| **Updater** | ❌ | ❌ | ❌ | ❌ | ❌ | Awaiting Website | |
| 21 | +| **PiP** | ✅ | ✅ | ✅ | ✅ | ❌ | | |
| 22 | +| **Mini Player** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 23 | +| **Subtitles** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 24 | +| **Live Chat Polls** | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | Untested due to timezones & poll availabilty but complete. | |
| 25 | +| **Live Chat Emotes** | ✅ | ✅ | ✅ | ✅ | ✅ | | |
| 26 | +| **Notifications** | ❌ | ❌ | ❌ | ⚠️ | ❌ | Experimental not complete | |
| 27 | + |
| 28 | + |
| 29 | +## 🛠️ How to Compile and Run |
| 30 | + |
| 31 | +### 1. Install Flutter |
| 32 | + |
| 33 | +First, install Flutter by following the official guide: |
| 34 | +➡️ [Flutter Installation Guide](https://docs.flutter.dev/get-started/install) |
| 35 | + |
| 36 | +Make sure to set up your system PATH to include the `flutter/bin` directory. |
| 37 | +Verify installation: |
| 38 | +```bash |
| 39 | +flutter --version |
| 40 | +``` |
| 41 | + |
| 42 | +### 2. Clone the repository |
| 43 | + |
| 44 | +```bash |
| 45 | +git clone https://github.com/floatyfp/floaty.git |
| 46 | +cd floaty |
| 47 | +``` |
| 48 | + |
| 49 | +### 3. Install dependencies |
| 50 | + |
| 51 | +```bash |
| 52 | +flutter pub get |
| 53 | +``` |
| 54 | + |
| 55 | +### 4. Run the app |
| 56 | + |
| 57 | +Make sure you have an Android/iOS device or a desktop environment ready. |
| 58 | + |
| 59 | +To get a list of available devices and select an option to run on: |
| 60 | +```bash |
| 61 | +flutter run |
| 62 | +``` |
| 63 | +Or list devices and run on a specific one: |
| 64 | +```bash |
| 65 | +flutter devices |
| 66 | +flutter run -d DEVICE_ID |
| 67 | +``` |
| 68 | + |
| 69 | +### 5. Build the app |
| 70 | +You can build the app in either release or debug mode. If you're building it in release refer to step 6 to setup certificates. |
| 71 | + |
| 72 | +- **Android APK** |
| 73 | + Build a release APK: |
| 74 | + ```bash |
| 75 | + flutter build apk --<INSERT MODE> |
| 76 | + ``` |
| 77 | + |
| 78 | +- **iOS** |
| 79 | + Build for iOS (requires macOS and Xcode): |
| 80 | + ```bash |
| 81 | + flutter build ios --<INSERT MODE> |
| 82 | + ``` |
| 83 | + |
| 84 | +- **Windows** |
| 85 | + ```bash |
| 86 | + flutter build windows --<INSERT MODE> |
| 87 | + ``` |
| 88 | + |
| 89 | +- **macOS** |
| 90 | + ```bash |
| 91 | + flutter build macos --<INSERT MODE> |
| 92 | + ``` |
| 93 | + |
| 94 | +- **Linux** |
| 95 | + ```bash |
| 96 | + flutter build linux --<INSERT MODE> |
| 97 | + ``` |
| 98 | + |
| 99 | +### 6. (Optional) Setup Release Signing for Android |
| 100 | + |
| 101 | +To publish a signed APK or App Bundle: |
| 102 | + |
| 103 | +1. Generate a signing key: |
| 104 | + ```bash |
| 105 | + keytool -genkey -v -keystore ~/your_keystore_name.jks -keyalg RSA -keysize 2048 -validity 10000 -alias your_key_alias |
| 106 | + ``` |
| 107 | +2. Create a `key.properties` file in the `android/` directory: |
| 108 | + ```properties |
| 109 | + storePassword=your_store_password |
| 110 | + keyPassword=your_key_password |
| 111 | + keyAlias=your_key_alias |
| 112 | + storeFile=/path/to/your_keystore_name.jks |
| 113 | + ``` |
| 114 | +3. Edit `android/app/build.gradle` to load the `key.properties` and configure signingConfigs. |
| 115 | + |
| 116 | +Full guide here: [Signing Flutter apps](https://docs.flutter.dev/deployment/android#signing-the-app) |
0 commit comments