https://github.com/moatazbadawy/mox_articles
Articles app using Retrofit + OkHttp + MVVM + RxJava
https://github.com/moatazbadawy/mox_articles
android kotlin mvvm okhttp retrofit rxjava
Last synced: 21 days ago
JSON representation
Articles app using Retrofit + OkHttp + MVVM + RxJava
- Host: GitHub
- URL: https://github.com/moatazbadawy/mox_articles
- Owner: MoatazBadawy
- Created: 2022-08-20T02:52:57.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-08-24T08:39:15.000Z (almost 4 years ago)
- Last Synced: 2025-02-02T20:28:07.041Z (over 1 year ago)
- Topics: android, kotlin, mvvm, okhttp, retrofit, rxjava
- Language: Kotlin
- Homepage:
- Size: 132 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
MOX Articles
## Overview
An articles app that lets the users read and discovering a lot of topics.
- Home Screen to display the latest of articles.
- Categories screen that includes a lot of major’s articles.
- Save favorite articles with SQLite.
- Apply MVVM Architecture and Databinding.
- Daily Notification to attention the user with new articles and used shortcuts
## App Images
Top | Pro | Android
--- | --- | --- |
 |  |  |
| Kotlin | UX
--- | --- |
 | 
## Project Architecture MVVM

- Yes , liveData is easy , powerful , but you should know how to use.
- For livedate which will emit data stream , it has to be in your
data layer , and don't inform those observables any thing else like
in which thread those will consume , cause it is another
- For livedata which will emit UI binding events, it has to be in your ViewModel Layer.
- Observers in UI Consume and react to live data values and bind it.
responsibility , and according to `Single responsibility principle`
in `SOLID (object-oriented design)` , so don't break this concept by
mixing the responsibilities .

## Built With 🛠
- [Kotlin](https://kotlinlang.org/) - First class and official programming language for Android development.
- [RxJava](https://github.com/ReactiveX/RxJava) - Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences.
- [Retrofit](https://github.com/square/retrofit) - A type-safe HTTP client for Android and Kotlin.
- [OkHttp](https://square.github.io/okhttp/) - HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP efficiently makes your stuff load faster and saves bandwidth.
- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.
- [Jetpack Navigation](https://developer.android.com/jetpack/compose/navigation) - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app
- [Material Components for Android](https://github.com/material-components/material-components-android) - Modular and customizable Material Design UI components for Android.
## Contributing 🤝
If you'd like to contribute, please take a look at the [PRs Welcome](https://github.com/MoatazBadawy/MOX_Articles/labels) label on the issue tracker. For new features, please open an issue to discuss it before beginning implementation.