Awesome
Nomadic
About
Microsoft News is built with Xamarin. I wondered… can I build the same 🤔? So I set out on this journey, I called it Nomadic.
Screenshots
Getting Started
To be able to run the app you will need to do a little setup. No worries, there's a whole blog about it 🙃. But if you want a quick start, check the instructions below:
Create a NewsAPI Key
Head over to newsapi.org and register. Once you have an account, go to your account dashboard and retrieve your API key.
Add your NewsAPI Key in the Constants.cs file at the root of the shared project.
At this point you can build and deploy the Application and you'll have almost all the functionality working 🙃... login will not work though.
If you're interested in login as well, follow the blog post below to create your Google Client Ids:
Google Authentication Blog Post
The making of...
I have been writing some blog posts on how to create this app, which can be found below:
- Part 1: Setting Up
- Part 2: Using Shell
- Part 3: Using Custom Fonts
- Part 4: Using Themes
- Part 5: NewsAPI
- Part 6: Using MVVM
- Part 7: Using CarouselView
- Part 8: Using ListView with DataTemplateSelector
- Part 9: Using WebView
- Part 10: Using CollectionView
- Part 11: Using Geo Location
- Part 12: Creating a Firebase Project
- Part 13: Google Authentication with Firebase
- Part 14: Using Xamarin.Essentials Preferences and SecureStorage .....aand Wrapping Up 🙃
The awesome Libraries used 😎:
- Xamarin.Essentials by Microsoft
- NewsAPI C# Client by newsapi.org
- Xamarin.Auth
- Plugin.FirebaseAuth by f-miyu
- Plugin.CloudFirestore by f-miyu
- UserDialogs by Allan Ritchie
- PancakeView by Steven Thewissen
- CardsView by Andrei Misiukevich
- FFImageLoading by Daniel Luberda
- Rg.Plugins.Popup by Martijn van Dijk
- CurrentActivityPlugin by James Montemagno
Disclaimer ☠!!
As much as consideration was taken for iOS platform-specific code, this application has not been tested on iOS. In theory it should work, but whatever bugs that you may encounter or on the event that the application does not successfully build or for whatever reason your device bursts into flames, I might not be of help. Sorry 😐.
On a different note, please contribute and/or raise issues 😁.