SilverDROID - Dark Side Admin with CI/CD pipeline

- Android PWA/WASM launcher with glassmorphism UI
- Loads https://admin.dark.side directly on launch
- Complete GitLab CI/CD pipeline configuration
- Automated builds for Debug, Release, and AAB
- Full WASM support with optimized WebView
- Material Design 3 theme
- Comprehensive documentation

Features:
- Auto-load target URL on app launch
- Glassmorphism components (frosted glass effects)
- Full PWA/WASM support
- Room database for future extensions
- Jetpack Compose UI
- CI/CD with artifact storage

Built for SilverLABS
This commit is contained in:
2025-09-30 17:13:14 +01:00
commit c667765488
41 changed files with 4857 additions and 0 deletions

222
README.md Normal file
View File

@@ -0,0 +1,222 @@
# SilverDROID
**Android WASM/PWA Launcher with Glassmorphism UI**
A modern Android launcher application for Progressive Web Apps (PWAs) and WebAssembly (WASM) applications, featuring a beautiful glassmorphism design inspired by SilverPOWERSHELL.
## ✨ Features
### Core Functionality
- 🚀 **PWA Launcher** - Install and manage Progressive Web Apps
- 🌐 **WASM Support** - Full WebAssembly support via optimized WebView
- 📱 **Native Container** - PWAs run in a native Android wrapper
- 💾 **Offline Support** - Apps work offline with cached resources
- 🔔 **Notifications** - PWA push notification forwarding
### Beautiful UI
-**Glassmorphism Design** - Frosted glass effects throughout
- 🎨 **Material Design 3** - Modern Android design language
- 🌓 **Dynamic Theming** - Adapts to system theme (light/dark)
- 🖼️ **App Grid** - Beautiful card-based launcher grid
- 💫 **Smooth Animations** - Fluid transitions and effects
### Technical
-**Jetpack Compose** - Modern declarative UI
- 🏗️ **Clean Architecture** - MVVM + Repository pattern
- 💿 **Room Database** - Efficient local app storage
- 🔧 **WebView Optimization** - Enhanced for WASM/PWA performance
## 🎯 Technology Stack
- **Language:** Kotlin
- **UI Framework:** Jetpack Compose + Material Design 3
- **WebView:** Android System WebView (Chromium)
- **Database:** Room Persistence Library
- **Architecture:** MVVM with Clean Architecture
- **Min SDK:** 26 (Android 8.0)
- **Target SDK:** 35 (Android 15)
## 🏗️ Architecture
```
SilverDROID/
├── ui/
│ ├── launcher/ # Main launcher screen
│ │ ├── LauncherScreen.kt
│ │ └── LauncherViewModel.kt
│ ├── webview/ # PWA container
│ │ ├── WebViewActivity.kt
│ │ └── WasmWebView.kt
│ ├── components/ # Reusable glass components
│ │ └── GlassComponents.kt
│ └── theme/ # Material Design 3 theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── data/
│ ├── model/ # Data models
│ │ └── PwaApp.kt
│ ├── repository/ # Data repositories
│ │ └── PwaRepository.kt
│ ├── PwaDatabase.kt # Room database
│ └── PwaAppDao.kt # DAO interface
└── MainActivity.kt # App entry point
```
## 🚀 Getting Started
### Prerequisites
- Android Studio Ladybug (2024.2.1) or later
- JDK 17 or later
- Android SDK 26+
### Building the Project
1. **Clone the repository**
```bash
git clone https://gitlab.silverlabs.uk/SilverLABS/silverdroid.git
cd silverdroid
```
2. **Open in Android Studio**
- Open Android Studio
- File → Open → Select the `SilverDROID` folder
3. **Sync Gradle**
- Android Studio will automatically sync Gradle dependencies
- Wait for the sync to complete
4. **Run the app**
- Connect an Android device or start an emulator
- Click the "Run" button (▶️) in Android Studio
### Quick Start Commands
```bash
# Build debug APK
./gradlew assembleDebug
# Build release APK
./gradlew assembleRelease
# Install on connected device
./gradlew installDebug
# Run tests
./gradlew test
```
## 📦 Building for Production
1. **Generate a signing key** (first time only)
```bash
keytool -genkey -v -keystore silverdroid.keystore \
-alias silverdroid -keyalg RSA -keysize 2048 -validity 10000
```
2. **Configure signing in `app/build.gradle.kts`**
```kotlin
android {
signingConfigs {
create("release") {
storeFile = file("../silverdroid.keystore")
storePassword = "your_password"
keyAlias = "silverdroid"
keyPassword = "your_password"
}
}
}
```
3. **Build release APK**
```bash
./gradlew assembleRelease
```
4. **Output location**
```
app/build/outputs/apk/release/app-release.apk
```
## 🎨 Glassmorphism Components
SilverDROID includes custom glassmorphism components:
### GlassCard
```kotlin
GlassCard(
modifier = Modifier.fillMaxWidth(),
cornerRadius = 16.dp
) {
Text("Frosted glass card")
}
```
### FrostedGlassPanel
```kotlin
FrostedGlassPanel(
cornerRadius = 20.dp
) {
// Your content
}
```
### GlassBackground
```kotlin
GlassBackground() // Gradient background
```
## 📱 Adding Apps
### Manually
1. Tap the **+** button
2. Enter the PWA URL (e.g., `https://twitter.com`)
3. Optionally enter a custom name
4. Tap **Add**
### Sample Apps
The app includes sample PWAs you can add:
- Twitter (mobile.twitter.com)
- Spotify (open.spotify.com)
- YouTube (m.youtube.com)
- WebAssembly Demo (webassembly.org/demo)
## 🔧 WebView Configuration
SilverDROID's WebView is optimized for PWA/WASM:
- ✅ JavaScript enabled
- ✅ DOM Storage enabled
- ✅ Database storage enabled
- ✅ App cache enabled
- ✅ Mixed content allowed (dev)
- ✅ File access enabled
- ✅ Wide viewport support
- ✅ WebAssembly support
## 🤝 Contributing
Contributions are welcome! This is a SilverLABS project.
## 📄 License
Copyright © 2025 SilverLABS. All rights reserved.
## 🆘 Support
For issues or questions:
- GitLab Issues: https://gitlab.silverlabs.uk/SilverLABS/silverdroid/issues
- SilverLABS Infrastructure: See `~/.claude/Knowledge/`
## 🎉 Credits
Built with ❤️ by SilverLABS
Inspired by:
- **SilverPOWERSHELL** - Electron + Svelte architecture
- **Material Design 3** - Google's design system
- **Glassmorphism** - Modern UI trend
---
**Note:** This launcher is designed for PWAs and WASM apps. Regular Android apps from Google Play Store are not supported.