Newesy is news app which uses NewsAPI to fetch news.The main aim of this app was to learn Modern Android Architecture (MVVM).
- App brings you latest news from a wide range of sources
- Clean user interface allows user to navigate different news sections easily.
- User can save news for further reference.
- App allows to search on a topic from over 80000 news sources and blogs.
- It also shows news category wise eg-movies,politics,health etc
Technology Stack Used: Kotlin,Coroutines,MVVM architecture,Room,ViewModel,Live data,Retrofit,Gson,Navigation graph,Glide
Newsesy # Root Package . ├── adapter # Adapter for Recycler view and pager | ├── AdapterStragged.kt # Adapter for Stragged layout | ├── Myadapter.kt # Adapter for Linear layout │ ├── ViewPagerAdapter.kt # Adapter for View pager │ | ├── db # Room │ |── ArticleDao.kt # Data Access Object for room | |── ArticleDataBase.kt # Database | |── Convertors.kt # Convertors for model class | ├── modals # All model classes | |── Articles.kt | |── NewsModal.kt | |── Source.kt | |── network # All Retrofit classes | |── NetworkApi.kt | |── Retrofitinstance.kt | |── ui # All fragments used in app | |── explore | |── home | |── info | |── saved | |── search | |── viewpagerfragments | │── util # Utility Classes │ |── viewmodel # Viewmodel and Viewmodel provider classes | |── NewsViewModelProviderFactory.kt | |── ViewModal.kt | │── repository # Repository for both remote and local data | |── Repository.kt | |── NewsActivity.kt # For showing full news article ├── MainActivity.kt # MainActivity ├── SplashScreen.kt # SplashScreen
You need to provide API key to fetch the news. Currently the news is fetched from NewsAPI
- Generate an API key from NewsAPI
- Add the API key in util->contants file
- Build the app