mirror of
https://github.com/Joker-x-dev/AndroidProject-Compose.git
synced 2025-12-27 15:47:11 +00:00
159 lines
6.8 KiB
Markdown
159 lines
6.8 KiB
Markdown
<div align="center">
|
||
|
||
<img src="docs/images/graphs/logo.svg" width="120" alt="Logo"/>
|
||
|
||
# AndroidProject-Compose
|
||
|
||
_A fast-start Android framework built with Jetpack Compose_
|
||
|
||
<!-- Language Switch Button -->
|
||
<div align="center">
|
||
<a href="README.md">🌍 中文</a>
|
||
</div>
|
||
|
||
[](https://github.com/Joker-x-dev/AndroidProject-Compose)
|
||
[](https://gitee.com/Joker-x-dev/AndroidProject-Compose)
|
||
[](https://www.pgyer.com/AndroidProject-Compose)
|
||
[](https://compose.dusksnow.top)
|
||
[](https://deepwiki.com/Joker-x-dev/AndroidProject-Compose)
|
||
|
||
</div>
|
||
|
||
## 📖 Project Overview
|
||
|
||
AndroidProject-Compose is a **single-module Jetpack Compose scaffold** that ships with the essential building blocks for networking, state, navigation, theming, data storage, and database access. It also includes a few feature demo pages so you can “clone → run → plug in your business logic” to quickly build or learn a modern Compose app.
|
||
|
||
> If this project helps you, please give it a Star ⭐ It means a lot and keeps me motivated to maintain and update the project long-term!
|
||
|
||
## 📱 Preview
|
||
|
||
<img src="docs/images/preview/page.png" alt="page"/>
|
||
|
||
### 📍 Project Links
|
||
|
||
- **GitHub**: [https://github.com/Joker-x-dev/AndroidProject-Compose](https://github.com/Joker-x-dev/AndroidProject-Compose)
|
||
- **Gitee**: [https://gitee.com/Joker-x-dev/AndroidProject-Compose](https://gitee.com/Joker-x-dev/AndroidProject-Compose)
|
||
|
||
> This scaffold originates from the CoolMall practice project and keeps only the foundational capabilities plus sample pages. For the full e-commerce business, complete UI/animations, and full-featured demos, see CoolMall: GitHub https://github.com/Joker-x-dev/CoolMallKotlin | Gitee https://gitee.com/Joker-x-dev/CoolMallKotlin
|
||
|
||
### Demo Download
|
||
|
||
**Release build (2MB)**: [Download](https://www.pgyer.com/AndroidProject-Compose)
|
||
- **Supported OS**: Android 6.0 and above
|
||
- **Release notes**: Preview builds update occasionally and may not always reflect the latest code changes
|
||
|
||
### Documentation
|
||
|
||
- **Docs**: [View online](https://compose.dusksnow.top)
|
||
- **Note**: Online docs stay in sync with the code and cover quick start, architecture, sample routes, common customization points, and more.
|
||
|
||
## 🛠️ Tech Stack
|
||
|
||
### Core Technologies
|
||
|
||
| Category | Technology | Version | Description |
|
||
|-----------------------|---------------------|------------|------------------------------|
|
||
| Programming Language | Kotlin | 2.2.21 | 100% Kotlin |
|
||
| UI Framework | Jetpack Compose | 2025.11.01 | Declarative UI framework |
|
||
| Dependency Injection | Hilt | 2.57.2 | Dagger-based DI framework |
|
||
|
||
### Feature Modules
|
||
|
||
| Category | Technology | Version | Description |
|
||
|------------|------------------------|---------------|---------------------------|
|
||
| Navigation | Navigation Compose | 2.9.6 | Compose navigation |
|
||
| Network | Retrofit + OkHttp | 3.0.0 + 5.3.2 | HTTP client |
|
||
|
||
### Data Storage
|
||
|
||
| Category | Technology | Version | Description |
|
||
|---------------|------------|---------|----------------------------------|
|
||
| Database | Room | 2.8.4 | SQLite database |
|
||
| Local Storage | MMKV | 2.2.4 | High-performance key-value store |
|
||
|
||
### Development Tools
|
||
|
||
| Category | Technology | Version | Description |
|
||
|-------------------|------------|---------|------------------------|
|
||
| Logging | Timber | 5.0.1 | Log management |
|
||
| Network Debugging | Chucker | 4.2.0 | Network request monitor|
|
||
| Memory Leak Check | LeakCanary | 2.14 | Memory leak detection |
|
||
|
||
## 📱 Feature Module Directory
|
||
|
||
- **Main Module (main)**
|
||
- Main page (main)
|
||
- Core capability demos (core-demo)
|
||
- Navigation demos (navigation-demo)
|
||
|
||
- **Auth Module (auth)**
|
||
- Login (login)
|
||
|
||
- **User Module (user)**
|
||
- User info (info)
|
||
|
||
- **Demo Module (demo)**
|
||
- Generic network request demo (network-demo)
|
||
- Generic paged list demo (network-list-demo)
|
||
- Database demo (database)
|
||
- Local storage demo (local-storage)
|
||
- State management demo (state-management)
|
||
- Network request demo (network-request)
|
||
- Navigation with args (navigation-with-args)
|
||
- Navigation result passing (navigation-result)
|
||
|
||
## Project Structure
|
||
|
||
```
|
||
├── app/ # App entry
|
||
├── core/ # Core
|
||
│ ├── base/ # Base abstractions
|
||
│ ├── data/ # Data layer
|
||
│ ├── database/ # Database
|
||
│ ├── datastore/ # Data storage
|
||
│ ├── designsystem/ # Design system
|
||
│ ├── model/ # Data models
|
||
│ ├── network/ # Network layer
|
||
│ ├── result/ # Result handling
|
||
│ ├── state/ # State management
|
||
│ ├── ui/ # UI components
|
||
│ └── util/ # Utilities
|
||
├── navigation/ # Navigation module
|
||
│ ├── routes/ # Route definitions
|
||
│ ├── results/ # Route results
|
||
│ └── extension/ # Navigation extensions
|
||
├── feature/ # Feature modules
|
||
│ ├── main/ # Main module
|
||
│ ├── auth/ # Auth module
|
||
│ ├── user/ # User module
|
||
│ └── demo/ # Demo module
|
||
└── MainActivityViewModel.kt # Host-level shared ViewModel
|
||
```
|
||
|
||
## 👥 Join the Community
|
||
|
||
Welcome to the developer group—share learning notes and discuss technical questions together!
|
||
|
||
<div align="left">
|
||
<img src="docs/images/group/qq.jpg" width="200" alt="QQ group QR code"/>
|
||
<p>Scan or search the group number to join the QQ group</p>
|
||
</div>
|
||
|
||
## 🤝 Contributing
|
||
|
||
This is an open learning project. All Android enthusiasts are welcome to contribute!
|
||
|
||
### 🎯 How to Contribute
|
||
|
||
- **Code Contributions**: Submit pull requests to improve features or fix issues
|
||
- **Issue Feedback**: Report bugs or suggest features via Issues
|
||
- **Documentation**: Enhance docs, add usage guides or developer guides
|
||
- **Design Support**: Provide UI/UX suggestions or assets
|
||
- **Testing Help**: Join feature testing and share feedback
|
||
|
||
### 📋 Contribution Guidelines
|
||
|
||
- Please follow the project coding conventions before submitting code
|
||
- For new features, create an Issue first to discuss feasibility
|
||
- Sharing learning notes and technical takeaways is encouraged
|