Open Source Project - Crypto News App

in #utopian-io7 years ago (edited)

About The Project

Cryptocurrency-exchanges.jpg
Image Source

The Crypto Space is growing everyday and it has becowwme 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 and get the useful information you need all on one mobile app and read these posts right there on the same app.

Github Repo Link: https://github.com/Johnesan/CryptoNews

Android Apk file: https://drive.google.com/file/d/1Y3R9e8wb91U75wBvC3gHjMYssyDd1mnw/view?usp=sharing

Screenshot_2018-01-24-08-47-53.png
Screenshot_2018-01-23-20-42-02.png
Screenshot_2018-01-24-07-21-04.png

The App provides feed from the following four crypto blogs
https://cryptoclarified.com
https://ccn.com
https://cryptojunction.com
https://coindesk.com

Screenshot_2018-01-23-20-36-45.png

However, you have the ability to customize your preference. This gives you control over the websites you want to get news feed from, including non-crypto blogs (as far as they meet the requirements)

Screenshot_2018-01-23-20-37-36.png

Screenshot_2018-01-24-07-07-00.png
Screenshot_2018-01-24-07-10-59.png

App fetching news from other sites other than the four provided.

Technology Stack/Requirements

Crypto News App is built using .NET Xamarin.Forms framework. This framework allows you to build cross mobile applications. So this app is available in Android, iOS and Windows UWP. However, I focused on Android because it is more popular. You can build and run the iOS version (you must have a Mac to achieve this).

This application is one that displays information from different other website, and as such it gets the data it needs via APIs. The API request model was built to receive JSON from Wordpress API. Reason being that Wordpress is the most popular blogging platform and most blogs make use of this CMS and Wordpress provides RESTful API endpoints to its components by default.

So 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.

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

Roadmap

This is the first version of this mobile application. For now, due to scalability issues and API timeouts, I've built it to support a maximum of four blog websites- which means that you could only select four websites to receive news feed from.

I built the app with crypto in mind, but I do reckon that not many people might be interested in receiving news about crypto or might not like my choice of websites, so I have made it extensible by abstracting the news source and making it possible for anybody to select the blog websites they want to get news from. What this means is that, you can select your own blog websites (as far as it fits into the requirements stated above).

The next step is to extend this solution to cater for other platforms apart from wordpress, so users can comfortably select any websites of their choice and get feed from them.

How to Contribute

This application still has a lot of improvements to be achieved. First off, the User Interface doesn't seem so awesome at the moment. It would be great to have a UI expert improve on the designs and probably design a logo.

I had a lot of trouble trying to fix scalabilty issues. The Wordpress API returns quite a handful of data, most totally irrelevant to me. However, to retrieve the little I need, I have to fetch everyone of it. This makes the response time for each API call long; And consequently, time to fetch all news feed longer than should normally be. I would appreciate ideas on how to make the application respond faster and optimally.

To make your contributions, the github link again is https://github.com/Johnesan/CryptoNews
You could get in touch with me, as regards any technical comments, questions or contributions you have concerning the project- jcoool40@gmail.com



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

Please expand your README with more detail.

Thanks!

You can contact us on Discord.
[utopian-moderator]

Hey @ms10398, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!

Wow, this is really great. I'm so incorporating your design! Thank you

Beautiful initiative, quite commendable
Well done @johnesan

This is very innovative man. Would like to learn a thing or two from you. Keep it up

You make a correct and fantastic suggestion

As a programmer I know with it take to implement an idea. Keeping doing the great work bro

Bro thats a lovely idea and suggestion

Nice Bro keep it up

Hey @johnesan I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

hey @johnesan if you need any ui / ux advice just contact me or reply on that comment and we can sort that out :)