A Modern Android GitHub Client for Managing Repositories, Profiles, and Trending Projects
Auto Hub is a comprehensive Android application that provides a beautiful and intuitive interface for managing GitHub accounts, exploring repositories, and staying updated with trending projects. Built with modern Android development practices and clean architecture principles.
- GitHub OAuth Integration - Secure login with GitHub accounts
- Profile Management - View and manage user profiles, organizations
- Offline Support - Access cached data without internet connection
- Multi-account Support - Switch between different GitHub accounts
- Repository Explorer - Browse, search, and manage repositories
- Trending Repositories - Discover popular projects (Daily, Weekly, Monthly)
- Starred Repositories - Quick access to your starred projects
- Activity Feeds - Real-time updates on repository activities
- Commit History - View detailed commit information and contributors
- Repository Details - Comprehensive repository information including README, topics, and statistics
- Material Design - Modern, intuitive UI following Material Design guidelines
- Dark/Light Themes - Customizable appearance
- Responsive Layout - Optimized for different screen sizes
- Smooth Animations - Fluid transitions and interactions
- Bottom Navigation - Easy access to main features
- Real-time Notifications - Firebase push notifications
- Offline Caching - Realm database for local data storage
- Search & Filter - Advanced filtering options for repositories and users
- Multi-language Support - English and Arabic localization
📁 app/ # Presentation Layer
├── 📁 fragments/ # UI Fragments
├── 📁 screen/ # Activities
├── 📁 adapters/ # RecyclerView Adapters
└── 📁 dialogs/ # Custom Dialogs
📁 data/ # Data Layer
├── 📁 api/ # REST API Interfaces
├── 📁 repos/ # Repository Implementations
├── 📁 models/ # Data Models
└── 📁 oauth/ # Authentication Logic
📁 domain/ # Domain Layer
├── 📁 actions/ # Use Cases
├── 📁 models/ # Domain Models
└── 📁 state/ # State Management
- Kotlin - Primary programming language
- Android SDK - Target SDK 29, Min SDK 25
- Gradle - Build automation and dependency management
- MVVM (Model-View-ViewModel) - Clean separation of concerns
- Clean Architecture - Multi-modular structure
- Repository Pattern - Data abstraction layer
- Dependency Injection - Dagger 2, Koin, Motif
- Retrofit 2 - REST API communication
- RxJava 2 - Reactive programming
- Gson - JSON serialization/deserialization
- Realm Database - Local data persistence
- SharedPreferences - User preferences storage
- Material Design Components - Modern UI components
- Navigation Component - Fragment navigation
- ViewPager2 - Tab-based navigation
- RecyclerView - Efficient list rendering
- ConstraintLayout - Flexible layouts
- Kotlin Coroutines - Asynchronous programming
- LiveData - Reactive data handling
- Timber - Logging framework
- LeakCanary - Memory leak detection
- Firebase - Analytics and messaging
- Android Studio 4.0+
- JDK 8 or higher
- Android SDK 25+
- GitHub OAuth App credentials
-
Clone the repository
git clone https://github.com/0x0zeus/autohub-android.git cd autohub-android -
Configure GitHub OAuth
- Create a GitHub OAuth App in your GitHub settings
- Update
GithubClientIDandGithubSecreteIDingradle.properties
-
Build the project
./gradlew assembleDebug
-
Install on device
./gradlew installDebug
Add the following to your gradle.properties:
GithubClientID=your_github_client_id
GithubSecreteID=your_github_client_secret
ApiUrl=https://api.github.com/
TrendingApiUrl=https://github-trending-api.now.sh/| Home Screen | Repository Details |
|---|---|
![]() |
![]() |
- Multi-module Architecture - Separated into
app,data, anddomainmodules - Vortex Infrastructure - Custom Android development framework
- Gradle Dependencies - Centralized dependency management
- ProGuard Configuration - Code obfuscation and optimization
# Debug build
./gradlew assembleDebug
# Release build
./gradlew assembleRelease
# Run tests
./gradlew test⭐ Star this repository if you find it helpful!

