From 5c535e12b32df1a69cff49b061813c9833d0efa3 Mon Sep 17 00:00:00 2001 From: Raj <79650580+Raj-m01@users.noreply.github.com> Date: Fri, 30 Sep 2022 14:42:59 +0530 Subject: [PATCH] Update README.md --- README.md | 70 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 5e46053..80c2f1e 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ # News-App đź“° ### Overview : -Android news app built using Kotlin and implemented **MVVM** architecture. It requests news from News api with help of **Retrofit** library. +Kotlin-based Android news app helps users stay up-to-date on the latest headlines. ### Features : * Display News in various categories +* Dark mode * Share news with friends * Browse news * Bookmark news to read later/ Delete news @@ -14,53 +15,54 @@ Android news app built using Kotlin and implemented **MVVM** architecture. It re - - - + + + + + + + + +
News homeSaved NewsImage - news sharingNews homeRead Newssaved
News homeread Newssaved news


-### Getting Started : +### Tools and Tech stack used : + * Kotlin + * XML + * MVVM Architecture + * Room database library + * Android Studio + * Third party libraries like [retrofit](https://square.github.io/retrofit/), [picasso](https://square.github.io/picasso/), [shimmer](https://github.com/facebook/shimmer-android). + +### Getting Started : +Note: To run the app you have to add NewsAPI.org key. This API has limited access to daily request for News. * Generate API key from News api - * Paste the key in gradle.properties - ````API_KEY="" ```` + * Paste the key in 'gradle.properties' *(Create the file if not exists)* + - For Linux/Mac: `/home/.gradle/gradle.properties` + - For Windows: `C:\Users\\.gradle\gradle.properties` + + API_KEY="" * Rebuild app + +### Application link : **Click here to download apk** -### MVVM Architecture : - -MVVM is one of the architectural patterns which enhances separation of concerns, it allows separating the user interface logic from the business (or the back-end) logic. Its target (with other MVC patterns goal) is to achieve the following principle "Keeping UI code simple and free of app logic in order to make it easier to manage". - - - -
-MVVM architecture -
- - -#### MVVM components : - -* **Entity:** Annotated class that describes a database table when working with Room. - - * **SQLite database:** On device storage. The Room persistence library creates and maintains this database for you. - - * **DAO:** Data access object. A mapping of SQL queries to functions. When you use a DAO, you call the methods, and Room takes care of the rest. +### Contributing - * **Room database:** Simplifies database work and serves as an access point to the underlying SQLite database (hides SQLiteOpenHelper). The Room database uses the DAO to issue queries to the SQLite database. + - Contributions are always welcome! - * **Repository:** Used to manage multiple data sources. + - See [CONTRIBUTING.md](https://github.com/Raj-m01/News-App/blob/master/CONTRIBUTING.md) for ways to get started. - * **ViewModel:** Acts as a communication center between the Repository (data) and the UI. The UI no longer needs to worry about the origin of the data. ViewModel instances survive Activity/Fragment recreation. + +### For hackoberfest: - * **LiveData:** A data holder class that can be observed. Always holds/caches the latest version of data, and notifies its observers when data has changed. - - -### Retrofit : -Retrofit is a type-safe REST client for Android, Java and Kotlin developed by Square. The library provides a powerful framework for authenticating and interacting with APIs and sending network requests with OkHttp. +- **Before creating any Pull Request, please register yourself at [Hacktoberfest's Official Website](https://hacktoberfest.digitalocean.com/)** +- **If a maintainer reports behavior that’s not in line with the project’s code of conduct, then you will be ineligible to participate.** +- **If a maintainer reports your pull request as spam, it will not be counted towards your participation in Hacktoberfest.** -### Application link : **Click here to download apk** ### 📝 License