An Android StackOverflow client application implemented using the MVVM pattern, Retrofit2, LiveData, ViewModel, Repository pattern, View Binding. Users can get to view Questions which have been asked on Stack Overflow; picking a particular Question makes the user view it in details as well as the Answers provided. These Questions can be filtered by any of these four categories; Active, Recent, Hot or Voted. Questions that have an accepted Answer are easily identified. Users can also search for a particular problem they are having by typing in any search query of choice. Questions are curated based on the search query and presented to the user; again, the user can pick a particular Question to view the provided Answers.
- Retrofit which is a type-safe REST client for Android which makes it easier to consume RESTful web services
- Paging Library which helps to load and display small chunks of data at a time
- ViewModel used to store and manage UI-related data in a lifecycle conscious way
- LiveData which is an observable data holder class used to handle data in a lifecycle-aware manner
- Glide which is an image loading and caching library for Android
- Material Design which is an adaptable system that guides in maintaining principles and best practices of contemporary UI
- View Binding used to easily write code that interacts with views by referencing them directly
- Espresso used to write concise, beautiful, and reliable Android UI tests
- MarkdownView which is a simple library that helps to display Markdown text or files on Android as a HTML page just like GitHub
- ML Kit OCR which is a library that recognizes text in any captured image
- Android Image Cropper which is an image cropping library for Android, optimized for camera and gallery.
- Dagger for DI
FlowOver Stack requires a minimum API level of 21. Clone the repository. You will need an API key from Stack Exchange API to receive a higher request quota. Locate the StringConstants.java file and edit the following line to add your API key:
API_KEY = "YOUR_API_KEY"
All contributions are welcome. See the CONTRIBUTING file for guidelines on contributing