{"id":15967337,"url":"https://github.com/mohitgupta121/newsdo","last_synced_at":"2025-03-17T22:30:49.359Z","repository":{"id":111236223,"uuid":"482321677","full_name":"MohitGupta121/NewsDo","owner":"MohitGupta121","description":"NewsDo - An app Easy to use like reel in instagram, News App with awesome user interface, save news, search news, different category, all countries news in one app. NewsDo is built using Kotlin and follows all modern android Development practices.","archived":false,"fork":false,"pushed_at":"2023-10-12T20:59:30.000Z","size":3528,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T05:27:31.691Z","etag":null,"topics":["android","kotlin","kotlin-android","kotlin-coroutines","mvvm-architecture","navigation-component","news-api","newsapi","newsapp","retrofit2","room-database"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MohitGupta121.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-16T17:43:13.000Z","updated_at":"2024-07-01T17:05:36.000Z","dependencies_parsed_at":"2023-10-13T12:46:44.474Z","dependency_job_id":null,"html_url":"https://github.com/MohitGupta121/NewsDo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohitGupta121%2FNewsDo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohitGupta121%2FNewsDo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohitGupta121%2FNewsDo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohitGupta121%2FNewsDo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MohitGupta121","download_url":"https://codeload.github.com/MohitGupta121/NewsDo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243886572,"owners_count":20363756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","kotlin","kotlin-android","kotlin-coroutines","mvvm-architecture","navigation-component","news-api","newsapi","newsapp","retrofit2","room-database"],"created_at":"2024-10-07T18:22:35.267Z","updated_at":"2025-03-17T22:30:48.632Z","avatar_url":"https://github.com/MohitGupta121.png","language":"Kotlin","funding_links":["https://www.buymeacoffee.com/VaibhavJaiswal","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":[],"sub_categories":[],"readme":"\n# **NewsDo** \n\n**NewsDo** is an app easy to use like reel in instagram, News App with awesome user interface. You can save news, search news with different category and all countries news in one app.\n \n\u003c!-- # Video Introduction 📹\n\nThis is a small introduction video about Taskify  https://youtu.be/MEuoxix5SGY. --\u003e\n\n\u003c!-- # Article ✍\n\nTo know more about how I build this project, read my [Article](https://vaibhav2002.hashnode.dev/taskify-an-app-to-manage-your-daily-tasks-and-boost-your-productivity-harperdb-hackathon) --\u003e\n\n# Application Install\n\n***You can Install and test latest NewsDo app from below 👇***\n\n[![NewsDo](https://img.shields.io/badge/NewsDo✅-APK-red.svg?style=for-the-badge\u0026logo=android)](https://github.com/MohitGupta121/NewsDo/releases/download/V1/NewsDo.apk)\n\n## Setup\nClone the repository on your machine. Open the project on your IDE and add your api key from [newsapi](https://newsapi.org) and everything will be setup\n\n## About\n\n It users newsapi to fetch all the news with the help of retrofit2, mvvm, livedata and much more...\n\n- Fully functionable. \n- Clean and Simple Material UI.\n- It supports dark theme too 🌗.\n\n### Insights into the app 🔎\n\n\n\nhttps://github.com/MohitGupta121/NewsDo/assets/76530270/faeac6a4-9a11-4714-bf45-4913ec575f62\n\n\n\n\n\u003c!-- ![light_dark.png](media/light_dark.png) --\u003e\n\n**NewsDo** offers light as well as dark theme 🌓. So now you can use NewsDo in whatever theme you like the most. 🔥\n\n| | |\n| --- | --- |\n| \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/526ea78c-fc0d-4a25-bc26-f42ad50c3e27\" height=\"500\" style=\"max-width: 100%\"\u003e | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/139f7a36-2632-47ac-8d4c-222aa920f9f9\" height=\"500\" style=\"max-width: 100%\"\u003e |\n\n\n**NewsDo** support saved your favourite news and you can read it whenever you need.\n\n| | |\n| --- | --- |\n| \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/9de5200b-1034-470b-a03f-37a2a206adc2\" height=\"500\" style=\"max-width: 100%\"\u003e | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/7117823c-bc52-49db-a2df-c3da30a07332\" height=\"500\" style=\"max-width: 100%\"\u003e |\n\n\nThis app also give to access to get the news according to your interset of field/categories and do advance search in that category.\n\n\nIt's allow you to read news of any part of the country that you want.\n\n\n\nNewsDo lets you read news 📰 daily like instagram reels or youtube shots. It allow you to get news of your interseted category. You will read all over the world or any country 😃 news in one app. Instead of this you also save you favourite 👍 news for future.\n\n## 📸 Screenshots\n\n ||||\n|:----------------------------------------:|:-----------------------------------------:|:-----------------------------------------: |\n| \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/139f7a36-2632-47ac-8d4c-222aa920f9f9\" height=\"400\" style=\"max-width: 100%\"\u003e | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/e1d9556c-3ea8-4898-8733-1409084a042c\" height=\"400\" style=\"max-width: 100%\"\u003e | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/13f60bbf-17f1-463d-b4db-b2977703ee31\" height=\"400\" style=\"max-width: 100%\"\u003e |\n| \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/741bc84d-3958-4fc6-baeb-abb1947d6bf2\" height=\"400\" style=\"max-width: 100%\"\u003e  | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/514ac106-ee64-44cd-8898-d776f07ab081\" height=\"400\" style=\"max-width: 100%\"\u003e | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/9723c0d2-b6f8-4881-91c0-718af21e86b3\" height=\"400\" style=\"max-width: 100%\"\u003e  |\n| \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/14969174-0768-4bd4-8c15-59ff242071b9\" height=\"400\" style=\"max-width: 100%\"\u003e | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/90ed4eac-3051-4694-96ea-dbcbb15cbfea\" height=\"400\" style=\"max-width: 100%\"\u003e | \u003cimg src=\"https://github.com/MohitGupta121/NewsDo/assets/76530270/14ef8e25-319a-4eb3-b03d-b80be66c5bf3\" height=\"400\" style=\"max-width: 100%\"\u003e |\n\n \n## Built With 🛠\n- [Kotlin](https://kotlinlang.org/) - First class and official programming language for Android development.\n- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - For asynchronous and more..\n- [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/) - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.\n- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.\n  - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Stores UI-related data that isn't destroyed on UI changes. \n  - [ViewBinding](https://developer.android.com/topic/libraries/view-binding) - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.\n  - [DataBinding](https://developer.android.com/topic/libraries/data-binding) - Binds data directly into XML layouts\n  - [Room](https://developer.android.com/training/data-storage/room) - Room is an android library which is an ORM which wraps android's native SQLite database\n  - [DataStore](https://developer.android.com/topic/libraries/architecture/datastore) - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.\n- [Dependency Injection](https://developer.android.com/training/dependency-injection) - \n  - [Hilt-Dagger](https://dagger.dev/hilt/) - Standard library to incorporate Dagger dependency injection into an Android application.\n  - [Hilt-ViewModel](https://developer.android.com/training/dependency-injection/hilt-jetpack) - DI for injecting `ViewModel`.\n- [Retrofit](https://square.github.io/retrofit/) - A type-safe HTTP client for Android and Java.\n- [GSON](https://github.com/google/gson) - A modern JSON library for Kotlin and Java.\n- [Timber](https://github.com/JakeWharton/timber) - A simple logging library for android.\n- [GSON Converter](https://github.com/square/retrofit/tree/master/retrofit-converters/gson) - A Converter which uses Moshi for serialization to and from JSON.\n- [Glide](https://github.com/bumptech/glide) - An image loading and caching library for Android focused on smooth scrolling\n- [Coil](https://github.com/coil-kt/coil) - An image loading library for Android backed by Kotlin Coroutines.\n- [Material Components for Android](https://github.com/material-components/material-components-android) - Modular and customizable Material Design UI components for Android.\n\n# Package Structure\n    \n    com.mohit.newsDo    # Root Package\n    .\n    ├── data                # For data handling.\n    |   ├── local           # Room DB and its related classes\n    │   ├── model           # Model data classes, both remote and local entities\n    │   └── repo            # Single source of data.\n    |\n    ├── ui                  # UI/View layer\n    |   ├── adapters        # All Adapters, viewholder and diffUtils for recyclerViews\n    │   ├── mainScreen      # Home Activity and its fragments\n    |   ├── ViewModel       # All News Views Model\n    │   └── splashScreen    # SplashScreen\n    |\n    └── utils               # Utility Classes / Kotlin extensions\n\n\n## Architecture\nThis app uses [***MVVM (Model View View-Model)***](https://developer.android.com/jetpack/docs/guide#recommended-app-arch) architecture.\n\n![](https://developer.android.com/topic/libraries/architecture/images/final-architecture.png)\n  \n\u003c!-- --- --\u003e\n\n\u003c!-- ## If you like my projects and want to support me to build more cool open source projects\n  \n\u003ca href=\"https://www.buymeacoffee.com/VaibhavJaiswal\"\u003e\u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a coffee\u0026emoji=\u0026slug=VaibhavJaiswal\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Cookie\u0026outline_colour=000000\u0026coffee_colour=ffffff\"\u003e\u003c/a\u003e --\u003e\n\u003c!--\n---\n\n ## Contact\nIf you need any help, you can connect with me.\n\n\u003c!-- Visit:- [VaibhavJaiswal.io](https://vaibhav2002.github.io) --\u003e\n  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohitgupta121%2Fnewsdo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohitgupta121%2Fnewsdo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohitgupta121%2Fnewsdo/lists"}