This is an android app, which you'll ever need to read News. It is loaded with many unique features which you'd love to use. But before we dive into features, let's know why another news reading app ? You see, most of the news reading apps, like TOI or The Hindu, you'd be able to see the newses from their sources only. Similarly, using apps like inshorts, gives you a summary of articles which are recommended for you. This is okay for the most part, but none of these apps, help us make better descisions and mitigate the bias. Almost all of the news apps, available out there are solely for the purpose of showing you the latest news. However, this is not the case with Samachaar. This app is made for the users to read the best news and make intellectual opinions, since due to the incompetency of the Indian media, making sound decisions and forming intellect opinions seems too far. This is an android app which will not only help you read news articles, but would also help you mitigate the bias of newses (i.e. if this news article is biased towards any particular subject or not ? Think of it as Arnab being biased towards Modiji). So this app would mitigate the bias and tell you wether the news article is biased or not ? What is the sentiment of the news, it is positive , negative or neutral. It will also figure out the emotion of the news article. It automatically figures out the most relevant topics and extracts the most relevant keywords and shows you the news based on the topics. You can also listen to news article on the go, just like an e-book or podcast. And there's much more to the app. Please refer to the features section to know more. This is an open source project aims to propogate the latest news to the public all while giving the ability to make better and sound decisions.
Features ->
- One Step simple Login/Register with Google
- Super easy to use UI and navigation flow
- Different Tabs for different categories to fetch relevant news articles.
- Location services to automatically fetch the news for your city or district
- Latest corona updates
- Save Articles on the fly
- Sync articles to the remote server so that you never miss out on your favorite news
- search for news
- OCR recognition. Search for news by just clicking a photo of the text
- Audio player. Listen to news even on the fly like an e-book or podcast
- Change from web to article view
- Share the article
- Translate the article to Hindi
- Perform analysis on the news article
- Get the sentiment scores for the article -> Is the article positive, negative or neutral
- Get the communication analysis -> What kind of communication is the article trying to potray
- Get the emotional analysis -> What is the emotion of the article -> Sad, Anger, Joy, Happy etc.
- Get the bias analysis -> Is the news article biased towards any particular subject
- Get important points for the news article
- Get important entities mentioned in the news article
- Best architecture practices -> Follows MVVM architecture
- Best Design guidelines -> Follows material guidelines
- Free and open source
This app is almost complete. This app is made for the users. Please feel free to use this app, find flaws and open issues. I have included the Known Limitation and Features to be Included sections at the bottom. Please go through them and read the CONTRIBUTING.md file in case you want to contribute to the cause.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
[Android Studio](https://developer.android.com/studio)
A step by step series of examples that tell you how to get a development env running
git clone https://github.com/justdvnsh/Samachaar.git
git checkout dev
Let the gradle build the project, download the dependencies and then run the project
All the development happens in the dev branch of the repository. Steps to contribute ->
- Please fork and clone the project.
- Checkout the dev branch
git checkout dev
- Make your changes
- Each change should contain your name, and description of the change as comment
- Include tests for each feature you add.
- Compare the changes
- Submit a pull request
NOTE -> Each pull request will be reviewed thoroughly
We use github for our versioning
- Divyansh Dwivedi - Initial work - justdvnsh
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
-
Currently there are only 3 viewModels respectively for the newsFragment, splashActivity and Authentication
-
Audio activity and player do not leveage the use of viewModels
-
Socket timeout exception has not been handled -
No tests
-
Does not handle the case if the OCR cannot recognise text -
Does not handle pagination (infinite scroll)
-
Alert with progress bar have not been handled properly -
Home Fragment uses simple recommendation system
-
There are places where still the view is doing more work, so have to use coroutines to reduce the effort on the view -
Ui of the audio player is not applealing
-
Include tests
-
Leverage viewModels in the Audio activity and player
-
Handle Timeout exception -
Handle OCR TextNotRecognised exception -
Handle alerts properly -
Use cutting-edge recommendation system
-
Some more UI improvements
-
Use coroutines to reduce the efforts made by the view as much as possible -
Make the UI of the audio player more appealing
-
Add Dark mode for better redability
-
Add foreground notification to play audio in the background as well
-
Add Whatsapp and Telegram bot to directly send news to Whatsapp or telegram
-
Add feature to change the language and read news directly in the native language -> add API endpoints to fetch news in the native language
-
Handle notifications more profoundly