Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nikhilkumarmishra/bharat_news

Bharat News: A Minimalist News App: Stay updated with the latest news headlines, save favorites, and search seamlessly. Built using MVVM architecture, Room, Retrofit, and Kotlin Coroutines.
https://github.com/nikhilkumarmishra/bharat_news

android android-development api kotlin livedata mvvm-architecture newsapi newsapp project-repository retrofit room-database

Last synced: 1 day ago
JSON representation

Bharat News: A Minimalist News App: Stay updated with the latest news headlines, save favorites, and search seamlessly. Built using MVVM architecture, Room, Retrofit, and Kotlin Coroutines.

Awesome Lists containing this project

README

        

```markdown
# 📱 Minimalist News App

Welcome to the repository for the Minimalist News App! 🚀 This app delivers the latest headlines, lets you save your favorite articles, and makes searching for news topics a breeze. Dive into the code, explore the features, and see how it all comes together. Let's build something awesome together!
![1](https://github.com/Nikhilkumarmishra/Bharat_News/assets/87891556/986e3a08-6aad-4801-b776-3c3310262d2c)

## 📰 Features

- Real-Time News Updates: Stay up-to-date with the latest headlines.
- Favorites: Save articles for later reading and manage them easily.
- Search Functionality: Find articles on any topic quickly.
- Smooth Navigation: Navigate effortlessly between sections.
- Seamless Reading: Read articles within the app using WebView.

## 🛠️ Tech Stack

- Architecture: MVVM (Model-View-ViewModel)
- Database: Room
- Navigation: Navigation Component
- Networking: Retrofit
- Concurrency: Kotlin Coroutines
- UI: Custom Themes, Bottom Navigation, RecyclerView

## 🚀 Getting Started

Follow these steps to get the app up and running on your local machine:

### Prerequisites

- Android Studio: Download and install the latest version from [here](https://developer.android.com/studio).
- API Key: Get your API key from a news provider (like NewsAPI) and add it to your project.

### Installation

1. Clone the repository:
```sh
git clone https://github.com/yourusername/news-app.git
cd news-app
```

2. Open in Android Studio:
- Open Android Studio.
- Select "Open an existing project".
- Navigate to the cloned repository and open it.

3. Configure API Key:
- Create a file named `local.properties` in the root directory.
- Add your API key:
```properties
NEWS_API_KEY=your_api_key_here
```

4. Build the Project:
- Click on the "Build" menu and select "Make Project".

5. Run the App:
- Click the green play button or select "Run" from the menu.

## 📚 Code Highlights

### MVVM Architecture
The app uses the MVVM architecture to separate concerns and improve testability. The ViewModel handles business logic, the View displays data, and the Model manages the data layer.

### Room Database
The Room database provides a simple way to store, query, and update local data. The `ArticleDao` interface defines the database operations, and the `NewsDatabase` class provides the database instance.

### Retrofit Networking
Retrofit simplifies HTTP requests and JSON parsing. The `NewsApi` interface defines the endpoints, and the `RetrofitInstance` class provides the Retrofit instance.

### Kotlin Coroutines
Coroutines handle background tasks efficiently, ensuring that the app remains responsive. They simplify async programming by allowing you to write sequential code.

## 🛡️ License
This project is licensed under the MIT License. See the LICENSE file for more details.

## 🤝 Contributing
Contributions are welcome! Feel free to fork the repository, create a branch, and submit a pull request. Please ensure your code follows the existing coding standards and includes appropriate tests.

## 📧 Contact
If you have any questions or feedback, feel free to reach out:

- Email: [email protected]
- LinkedIn: [Nikhil Kumar Mishra](https://www.linkedin.com/in/nikhil-kumar-mishra/)

## 🌟 Acknowledgements
A big thank you to the open-source community and all the fantastic libraries that made this project possible!

# Please check my Profile to see other Exciting projects

![2](https://github.com/Nikhilkumarmishra/Bharat_News/assets/87891556/d14cbfe1-d163-4c5f-ba58-508fae8bd9b5)

![3](https://github.com/Nikhilkumarmishra/Bharat_News/assets/87891556/64915cd3-b027-46b1-8daf-2d087c099a34)

```