Reimplementing CrytpoNews in Native Android
What is the project about?
The Crypto Space is growing everyday and it has become very hard to keep up with news from the thousands of coins out there and so many crypto blogs. Its no secret that news and speculations are the main elements that facilitate increase or decrease in the price of coins. To get all round news, one would usually need to go through different website urls on a browser to search for information.
Crypto News App is an attempt to bring all your favourite crypto blog websites to one location. Instead of having to check out each website on your browser in a bid to get useful information, you would now only have to scroll through a feed of news from your favourite blogs, get the useful information you need all on one mobile app and read these posts right there on the same app.
- Open Source Project - Crypto News App
- Open Source Project - Crypto News App (UPDATE)
- Open Source Project - Crypto News App (UPDATE #2: Favourite posts Section)
- Open Source Project - Crypto News App (UPDATE #3: Share Post Functionality)
- Open Source Paroject - Crypto News App (UPDATE #4: Image Caching, Internet Connectivity & Duplication Fix)
- Open Source Project - Crypto News App (UPDATE #5: Search Functionality)
The initial model of CryptoNews app was built using .NET Xamarin.Forms cross platform framework. Being a cross platform framework, it comes with so many limitations that makes the application unable to fully harness the power of native functionalities. With the need for expansion, and to ensure a smooth user feel and experience, it has become imperative to port the project to work in their native habitat. Consequently, on the account of my interest in the idea behind the application and to improve crypto community, I contacted the pioneer of the project and he has agreed to collaborate with me. Together with my close friend and partner @mathemandy, we have worked on re-implementing the solution in native Java android for close to a month now. And finally we have our first working version.
We however reckon that the previous version of CryptoNews App attained a high level of stability and alot of impending issues we are facing right now, have been fixed there; And as such, it would be a big turn off and indeed disheartening to descend to an alpha unstable version, especially to those users who make use of, and follow the updates on it.
Consequently, the previous version would still remain valid, until this model is stable enough to replace it. However, more attention would be given to developing this new version with more attention to the user experience, smoothness and extensibility of the application.
SHOWCASE OF THE NEW APP EXPERIENCE
Technology Stack/ Requirements
This version of CryptoNews App is built completely on the native Android Os. It was built with java as the standard Programming Language.
This App utilizes the power of native android architecture and incorporates Google's new MVVM pattern as core Architecture to build the app. The packages are setup using the Mode View - View Mode with Repository pattern.
Al the Business Logic are done within our ViewModels and Repository Class.
The App also uses the power of Dagger for Dependency Injection to provide network resources and objects readily as they are needed by the appropriate classes.
In addition, the blog websites it supports for now is Wordpress websites which have their APIs enabled (it usually is, by default). To check if a website uses Wordpress, there are several technology stack check tools online. Personally, I make use of the Wappalyzer Plugin for browsers.
RxJava is used in conjunction with Retrofit to perform all Network request and necessary threading to ensure the best user experiences for the user.
Once you have confirmed that a website runs on wordpress, check to confirm if the API endpoints are returning the appropriate data. This is done by adding "wp-json/wp/v2/posts" to the Url. For example, http://ccn.com/wp-json/wp/v2/posts
Github Pull Request: https://github.com/Johnesan/CryptoNews/pull/2
Android Apk File(Alpha Testing) : https://drive.google.com/open?id=17wzvl7A7yKW2pIMoe5AJJtpy4IaCmRxM
First off on our list is to try to get up to speed with the current level as the previous version. We are going to work on implementing all the cool features of the previous version, in this new one and even better. We also wish to provide more features to the application to increase user’s experience. More attention would be given to the layouts and presentation of the app. Some of the updates to expect are:
- Searching all news
- Persisting user news
- Providing different layouts
- Providing different themes for user
- Push Notifications
- News Posts sharing
- Incorporating more news and giving the user the flexibility of deciding what he wants to read per time.
Some of the fields in the settings are incomplete
Testing of the url in the settings page is still proving an issue
Save button in the settngs activity does not work for now and wil be provided in the next release
How to Contribute
Posted on Utopian.io - Rewarding Open Source Contributors