https://github.com/usr-wwelsh/railway-android
unofficial railway android app
https://github.com/usr-wwelsh/railway-android
Last synced: 5 months ago
JSON representation
unofficial railway android app
- Host: GitHub
- URL: https://github.com/usr-wwelsh/railway-android
- Owner: usr-wwelsh
- License: mit
- Created: 2025-12-15T19:13:10.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-12-17T19:08:45.000Z (6 months ago)
- Last Synced: 2025-12-21T07:27:13.492Z (6 months ago)
- Language: Kotlin
- Homepage:
- Size: 108 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Railway Android
[](https://opensource.org/licenses/MIT)
[](https://www.android.com)
[](https://kotlinlang.org)
[](https://android-arsenal.com/api?level=26)
A lightweight, native Android app for monitoring Railway projects on-the-go. Built with Kotlin + Jetpack Compose for optimal performance and minimal bloat.
## Features
- 🔐 **Privacy-First**: API tokens stored with AES256-GCM encryption
- 📱 **Native Android**: No bloat, just fast Kotlin + Jetpack Compose
- 🌙 **Railway Design**: Dark-first UI matching Railway's aesthetic
- 📊 **Project Monitoring**: View all projects with deployment status
- 📝 **Live Logs**: View deployment logs and live server logs
- 💾 **Offline Ready**: Caches data for viewing without connection
## Getting Started
### Prerequisites
- Android Studio Hedgehog or later
- Android SDK 26+ (Android 8.0+)
- JDK 17
### Building
1. Clone this repository:
```bash
git clone https://github.com/usr-wwelsh/railway-android.git
cd railway-android
```
2. Open in Android Studio
3. Build and run:
```bash
./gradlew assembleDebug
```
### Getting a Railway API Token
1. Visit [railway.app/account/tokens](https://railway.app/account/tokens)
2. Create a new Personal or Project token
3. Copy the token
4. Enter it in the app on first launch
**💡 Tip**: For maximum security, use a read-only Project token!
## Tech Stack
- **Language**: Kotlin
- **UI**: Jetpack Compose + Material3
- **Architecture**: MVVM + Clean Architecture
- **DI**: Hilt
- **GraphQL**: Apollo Kotlin
- **Storage**: EncryptedSharedPreferences + Room Database
- **Navigation**: Compose Navigation
## Project Structure
```
app/src/main/kotlin/com/railway/mobile/
├── data/ # Data layer
│ ├── local/ # EncryptedSharedPreferences, Room database
│ └── repository/ # Repository implementations
├── domain/ # Business logic
│ ├── model/ # Domain models
│ └── repository/ # Repository interfaces
├── presentation/ # UI layer
│ ├── theme/ # Material3 theme
│ ├── onboarding/ # Token setup
│ ├── projects/ # Projects list
│ ├── projectdetails/ # Project details & deployments
│ ├── logs/ # Deployment logs
│ ├── environmentlogs/ # Live server logs
│ └── navigation/ # App navigation
└── di/ # Dependency injection
```
## Contributing
This is an open-source community project! Contributions welcome.
1. Fork the repo
2. Create a feature branch
3. Make your changes
4. Submit a PR
## License
MIT License - see [LICENSE](LICENSE) for details
## Disclaimer
This is an unofficial community project, not affiliated with Railway Corp.
---
Built with ❤️ for indie devs who ship from anywhere 🚂