📱 ForgeHub — Forgejo/Gitea Android-Client mit Jetpack Compose & Material 3. Repos, Issues, Pull Requests, Benachrichtigungen, Wiki, Releases, Offline-Modus, Dunkles Design, Multi-Account.
- Kotlin 100%
| .github/workflows | ||
| app | ||
| fastlane/metadata/android/en-US | ||
| gradle/wrapper | ||
| metadata | ||
| .gitignore | ||
| build.gradle.kts | ||
| CHANGELOG.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle.kts | ||
| TODO.md | ||
ForgeHub 🔨
A modern Android client for Forgejo and Gitea instances.
Built with Kotlin, Jetpack Compose, and Material 3.
Features
Core
- 🔐 Multi-Account Support — Connect to multiple Forgejo/Gitea servers with token-based auth
- 📊 Dashboard — Overview of your repos, starred repos, organizations, and activity feed
- 📁 Repository Browser — Browse files, view code with syntax highlighting, render README.md
- 🌿 Branch & Tag Selection — Switch between branches and tags seamlessly
- 📜 Commit History — View commits and contributors
Issues & Pull Requests
- 🐛 Issues — List, filter, create, comment, close/reopen with label & milestone management
- 🔀 Pull Requests — View PRs, diffs, reviews, comments, and merge directly from the app
- 🏷️ Labels & Milestones — Full label and milestone management
- 👥 Assignees — Assign and manage issue assignees
Collaboration
- 🔔 Notifications — Unread notifications with swipe-to-dismiss and deep-links
- 📝 Markdown Editor — Write issues and comments with live preview
- 📎 File Upload — Attach files to issues
- 🔍 Code Search — Search files within repositories
- 📦 Releases — Browse releases with download links
- 📖 Wiki — Read wiki pages with full Markdown rendering
- 🍴 Fork & Create — Fork repos and create new ones from the app
Polish
- 👤 Profile — View your profile and other users with follower/following lists
- ⚙️ Settings — Light/Dark/System theme, account management, cache control
- 🎨 Material You — Dynamic colors on Android 12+, Forgejo orange accent
- 💾 Offline Mode — Cached data available without network
- 🚀 Performance — Paging 3 for long lists, Coil for image caching
Screenshots
| Dashboard | Repository | Issues | Pull Requests |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Notifications | Releases | Wiki | Create Repo |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Screenshots coming soon — placeholders above
Tech Stack
| Component | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose + Material 3 |
| Architecture | MVVM (ViewModel + Repository) |
| Networking | Retrofit2 + OkHttp |
| DI | Koin |
| Async | Coroutines + Flow |
| Images | Coil |
| Database | Room |
| Pagination | Paging 3 |
| Markdown | Markwon |
| Storage | EncryptedSharedPreferences + DataStore |
Build
Prerequisites
- Android Studio Hedgehog (2023.1.1) or newer
- Android SDK 34
- JDK 17
Steps
git clone https://github.com/krugi20/forgejo_android_app.git
cd forgejo_android_app
./gradlew assembleDebug
Or open in Android Studio and click ▶️ Run.
Release Build
export KEYSTORE_PASSWORD=your_password
export KEY_ALIAS=forgehub
export KEY_PASSWORD=your_key_password
./gradlew assembleRelease
API
This app uses the Forgejo/Gitea REST API v1. All you need is:
- Your server URL (e.g.,
https://forgejo.example.com) - An API token (Settings → Applications → Generate Token)
Project Structure
app/src/main/java/com/krugi20/forgejoapp/
├── data/
│ ├── api/ # Retrofit API interface, interceptors
│ ├── local/ # AccountManager, SettingsManager, Room database
│ ├── model/ # Data classes (User, Repo, Issue, PR, Release, etc.)
│ ├── paging/ # Paging 3 sources
│ └── repository/ # ForgejoRepository
├── di/ # Koin dependency injection modules
├── ui/
│ ├── components/ # Reusable components (MarkdownEditor)
│ ├── navigation/ # Navigation routes and NavGraph
│ ├── screens/ # All screens
│ │ ├── dashboard/
│ │ ├── issues/
│ │ ├── login/
│ │ ├── notifications/
│ │ ├── onboarding/
│ │ ├── profile/
│ │ ├── pullrequests/
│ │ ├── releases/
│ │ ├── repos/
│ │ ├── search/
│ │ ├── settings/
│ │ └── wiki/
│ └── theme/ # Material 3 theme with Forgejo colors
└── util/ # Utilities (NetworkMonitor, etc.)
Contributing
Contributions welcome! Please open an issue or PR.
License
MIT License — Copyright (c) 2024 Klaus Krug
See LICENSE for the full text.








