Skip to content

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.

Notifications You must be signed in to change notification settings

Nikhilkumarmishra/Bharat_News

Repository files navigation

# 📱 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: mishrakumarnikhil@gmail.com
- 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)

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages