A comprehensive mobile news application that provides the latest updates on news from various domains, using a clean and modern UI.
What Now is a mobile news application built with Kotlin, utilizing XML for the UI. This app provides real-time updates from various news domains, including categories like politics, sports, technology, and more. It is designed with a focus on modular architecture, reusability, and scalability.
- Latest News Updates: Browse the latest news based on categories like sports, politics, technology, and more.
- Advanced Search: Search news by domain, language, date, and other filters.
- Clean UI: Built with a user-friendly interface using modern Android UI principles.
- Multi-Language Support: The app supports multiple languages based on the user's preference.
- Programming Language: Kotlin
- Platform: Android
- UI: XML, View Binding, Lottie Animations, Material Design, Fragments
- Networking: Retrofit
- Firebase: Authentication, Realtime Database, Push Notifications
- Gradle Custom Plugins: For build configuration and optimization
- Architecture: MVVM
- Database: Firestore
- State Management: LiveData, ViewModel
- Local Storage: SharedPreferences
This project follows the Multi-Modular Architecture design with separation of concerns, leveraging best practices like:
- MVVM Pattern: Model-View-ViewModel for managing UI-related data.
- Repository Pattern: For abstracting the data layer and handling API calls.
- Builder Pattern: For Building API calls.
- Factory Pattern: Ritrofit
Login | SettingAPI | Search For News |
---|---|---|
- Clone the repository:
git clone https://github.com/0xSA7/What-Now-NewsApp.git
- Open the project in Android Studio:
Open Android Studio. Select "Open an existing project". Navigate to the cloned repository and select it. - Create a Firebase project and add the google-services.json file to the app directory.
- This App uses API from https://newsapi.org/
- Build the project:
Let Android Studio download and configure all dependencies. Once the build is complete, you can run the app on an emulator or a physical device.
Contributions are welcome! Please follow these steps:
- Fork the Repository
- Create a New Branch
git checkout -b feature/your-feature-name
- Commit Your Changes
git commit -m "Add some feature"
- Push to the Branch
git push origin feature/your-feature-name
- Create a Pull Request explaining your changes.