Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Task 2:
The Undo stack consists of web services mainly in Azure, Web API, Admin panel & Xamarin.Forms application. Take a look at the home tab of the Undo application, read through the letter from the client and write us a proposed solution and prepare questions that will help you understand the task better in detail and to make better choices when deciding for the solution.
Letter from client: “We want to have a new feature in the application’s home tab – a news section. The news section’s goal will be providing news to users using the application, where we would be posting content weekly or fortnightly.”
Answer:
News content is static and rarely gets updated, efficient way to set up backend infrastructure would be a DocumentDB and a serverless function which will be triggered on the update event to notify our clients.
Assuming our client is Xamarin.Forms application, we would need to build a listview-based custom control for our news feed.
Assuming UI is not provided, let's form a list of questions that will help to narrow down the use cases of our control:
Will we split the news on the preview and detailed?
Will the preview include the image?
Will be there any other media content? (video/music/embedded streams)
How many news items to display?
We cannot display everything, so pagination is crucial, we can load the next content by scrolling.
Our control needs to know when new content is available, PullToRefresh would be a bad solution as our content is posted rarely. A better way would be a PubSub system, our control will subscribe to messages sent from a serverless function and load the data when messages arrive.
Implementation details could be different here, for example:
The second option is more appealing, however, it can be constrained by message size and might need other infrastructure adjustments. Also on top of internal messaging, we can use native Push Notifications.
In order to not query the data each time our application is opened, we need to cache it. It also allows us to use the application offline. We can use something simple like Akavache or even a db like SQLite if needed.
Another question: Can users search or filter the news?
In case of yes, we might extend our WebAPI or even introduce ElasticSearch.
To sum up - news structure and content is crucial for our control.