Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crusade4code/kotlinlastcrusade1-xml-koin-mapper-usecase
This project uses the GitHub API to retrieve and display information from Users and Repositories in a user-details screen.
https://github.com/crusade4code/kotlinlastcrusade1-xml-koin-mapper-usecase
clean-architecture dependency-injection flow koin-android koin-kotlin kotlin-android livedata mappers repository-pattern solid-principles unit unit-testing use-cases
Last synced: about 13 hours ago
JSON representation
This project uses the GitHub API to retrieve and display information from Users and Repositories in a user-details screen.
- Host: GitHub
- URL: https://github.com/crusade4code/kotlinlastcrusade1-xml-koin-mapper-usecase
- Owner: Crusade4Code
- License: unlicense
- Created: 2024-10-15T21:55:07.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-28T16:57:02.000Z (3 months ago)
- Last Synced: 2025-02-06T12:25:03.346Z (8 days ago)
- Topics: clean-architecture, dependency-injection, flow, koin-android, koin-kotlin, kotlin-android, livedata, mappers, repository-pattern, solid-principles, unit, unit-testing, use-cases
- Language: Kotlin
- Homepage: https://crusade4code.github.io/crusade4code.github.io
- Size: 330 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KotlinLastCrusade1
This project uses the GitHub API to retrieve and display information from Users and Repositories in a user-details screen. The goal is to implement Clean Architecture principles by organizing code into Repositories, Repository Interfaces, Mappers, and UseCases. Dependency injection is managed with Koin, and the project includes Unit Tests to ensure robustness.
## Technical Overview
- **Clean Architecture**: Code is organized in layers with clear responsibilities, separating business logic from presentation logic.
- **SOLID Principles**: Applying principles like single responsibility and dependency inversion to ensure the project’s scalability and maintainability.
- **Repository Pattern**: Repository interfaces for data access, promoting decoupling between layers.
- **Mappers**: Data transformation between different layers and models.
- **UseCases**: Encapsulation of business rules and core operations, isolating application logic.
- **Koin for Dependency Injection**: Simplified configuration of dependencies for modularity and testing.
- **Unit Testing**: Ensuring the functionality and integration between layers to prevent regressions and maintain quality.
- **Using:**
- **LiveData**: For observing and updating the UI with reactive data.## KotlinLastCrusade1 Wiki
For a deeper dive into the architecture, SOLID principles, and additional technical information used, please refer to the Wiki.
- [Wiki](https://github.com/Crusade4Code/crusade4code.github.io/wiki/KotlinLastCrusade1)
# Branches and Technologies Variations
┌──────────────┐
│ │
│ Main │ LiveData (YOU ARE HERE)
│ │
└──────┬───────┘
│
┌─────────────┴───────────────
│
┌──────┴───────┐
│ │
│ Flow │
│ │
└──────────────┘## Getting Started
1. Clone the repository.
2. Configure your GitHub API token if required.
3. Run the project on Android Studio.## License
This project is licensed under the **The Unlicense** - see the LICENSE file for details.---
[🔙 Back to Crusade4Code Main Repository](https://github.com/Crusade4Code/crusade4code.github.io)