Skip to content
This repository has been archived by the owner on Jul 2, 2022. It is now read-only.

Just one more Weather App - this time on Xamarin.Native & MVVMCross

Notifications You must be signed in to change notification settings

bbenetskyy/YetAnotherWeatherApp

Repository files navigation

Yet Another Weather App

This one more Weather application written in C# with Xamarin.Native Android & iOS based on Open Weather API

Checker Status

Build Status

CodeFactor

iOS Design

Android Design

Used Frameworks & NuGet's:

  • AutoMapper - A convention-based object-object mapper
  • InteractiveAlerts - Interactvie Alerts fo Xamarin iOS/Android/PCL
  • Moq - most popular and friendly mocking framework for .NET
  • MvvmCross - is the .NET MVVM framework for cross-platform solutions, including Xamarin iOS, Xamarin Android, Xamarin Forms, Windows and Mac
  • MvvmCross.Droid.Support.V7.AppCompat - This package contains Support v7 AppCompat support for MvvmCross
  • MvvmCross.Plugin.Visibility - This package contains the 'Visibility' plugin for MvvmCross
  • MvvmCross.Tests - This package contains the 'Test Helpers' for MvvmCross
  • NUnit - features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.
  • OpenWeatherMap .Net - OpenWeatherMap-Api-Net compatible with Xamarin Platforms
  • Shouldly- Assertion framework for .NET. The way asserting Should be
  • Xam.Plugin.Connectivity - Get network connectivity information such as network type, speeds, and if connection is available
  • Xamarin.Essentials - a kit of essential API's for your apps
  • MvvmCross.Plugin.Color - contains the 'Color' plugin for MvvmCross

Yet Another Weather App Solution Structure

  • Core Folder
    • API - in this project located all communication with Open Weather API through OpenWeatherMap .Net NuGet.
    • Core - shared code between Android and iOS projects. Contains converted from Open Weather API Dbo model to local model class, mapping service and view models for native projects.
  • Native Folder
    • Android - xamarin android native project.
    • iOS - xamarin ios native project.
  • Tests Folder
    • API.IntegrationTests - integration tests with NUnit on real Open Weather API, here we testing how works OpenWeatherMap .Net NuGet.
    • Core.UnitTests - unit tests with NUnit where we check our mapper service and view models

Code Coverage Status

Selected Color Scheme

Some Projects and files was excluded from coverage because they can not be tested.

Was excluded:

  • Full Tests Folder with Test Projects
  • Full Native Folder with Native Projects
  • From Core Project:
    • App.cs
    • Constants Folder
    • Converters Folder

About

Just one more Weather App - this time on Xamarin.Native & MVVMCross

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages