Giter Site home page Giter Site logo

dotnet-architecture / eshoponuwp Goto Github PK

View Code? Open in Web Editor NEW
162.0 38.0 55.0 88.5 MB

Universal Windows Platform line of business application showcasing the latest Windows 10 capabilities such as Fluent Design System, Ink and Windows Hello.

License: MIT License

C# 100.00%
uwp dotnet windows

eshoponuwp's Introduction

Introduction

NOTE: This repo is obsolete. Please, visit the new project at VanArsdel Inventory Sample

This repo contains a UWP sample application for Windows 10 Fall Creators Update. It is focused on Line of Business scenarios, showing how to use the latest Windows capabilities in Desktop applications.

Some of the features showcased by this application include:

  • The MVVM Design Pattern
  • Use of Fluent Design System
  • Ink Capabilities
  • Windows Hello
  • Cortana
  • Telerik controls

CI Build Build status

CD Build Build status

What's new in version v 1.0.94

  • Support for multiple providers
    • New local provider
    • New REST API provider
  • Added Settings page
    • Manage and switch providers
  • New project eShop.Server ASP.NET Core 2.0
    • Emulates a Web API server with CRUD operations

Prerequisites

System requirements:

  • Windows 10 Fall Creators Update. To run the application you should be running a Windows Version greater than 10.0.16299. You can get it as described here
  • Visual Studio 15.4 -> Download
    • Including the Windows 10 FCU SDK 10.0.16299

Getting Started

You can install a working version of the app from https://aka.ms/eshopuwp

Features

Windows Ink

Select and edit multiple products using the Surface Pen. There are several signs with differents functions. This application recognizes a hand gesture and translate it to text. These are the supported forms:

  • Circle - "o" : Select multiple items
  • Tick - "v": Active or inactive the status
  • Cross - "x" : Remove an item

Windows Ink

Windows Hello

There are two ways to log-in, either with user/password or using Windows Hello. The first time the application is run, the user/password log in option will appear by default. You will be able to log-in through Windows Hello once you enter the user name and the button enabling to log-in is activated. Once you have logged-in using Windows Hello, your user will be saved and the next time you open the application Windows Hello authentication will appear as default. Depending on how your Windows Hello settings are (Settings/Accounts/Sign-in options), you will be able to authenticate by using:

  • Pin
  • Face recognition
  • Fingerprint
  • Et al.

Fluent Design

Acrylic material

Acrylic material is a type of Brush that creates a partially transparent texture.

Acrylic material

Connected animations

Connected animations let you create a dynamic and compelling navigation experience by animating the transition of an element between two different views.

Connected animations

Reveal

Reveal is a lighting effect that helps bring depth and focus to your app's interactive elements.

Connected animations

ShyHeader

ShyHeader demonstrates how to use ExpressionAnimations Tookit with a ScrollViewer to create a shinking header tied to scroll position.

ShyHeader

Cortana

You have to run Cortana at least once, because when done it installs the voice command definitions. Once it has been run, you can close the application and start using Cortana's search.

Voice Commands

These are some supported voice commands (Cortana may take time to refresh its voice commands):

  • "shop, show me mug type products"
  • "shop, give me shirt type products"
  • "shop, show me cap type products"
  • "shop, show me sheet type products"

eshoponuwp's People

Contributors

alvaromah avatar rido-min avatar ridomin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eshoponuwp's Issues

[FEEBACK] Possible improvements

Hi everyone,

after I have talked to Cesar De la Torre on the .NET Blog he suggested that I should open a new issue here.

The .NET Blog post:
https://blogs.msdn.microsoft.com/dotnet/2017/11/01/modernize-existing-net-apps-with-windows-containers-and-azure/#comments

I like the project as it helps to get started building enterpries applications with microsofts UWP.

Following areas could be improved in my opninion:

  1. Make the ViewModels portable
    Right now the ViewModel classes depend on the UWP UI stack.
    e.g. ShellViewModel is referencing Windows.UI namespaces.
    Therefore VM’s are not portable to use them with other UI technologies.

I suggest to move ViewModels into a separate .NET Standard 2.0 project and abstract the UI dependencies away.
In general I personally try to put most of my code into .NET Standard projects as long as there is no real need for a platform specific dependency.

  1. Use Dependency Injection instead of Service Location
    In my opinion Dependency Injection is a cleaner way of resolving dependencies as a class must tell the consumer on which other classes it has a dependency on and the consumer must provide them in one way or another.
    The class does not have to resolve it's dependencies by itself.
    This makes passing mock implementations in unit tests easy.

With a Service Locator on the other side, the class has to resolve it's dependencies by itself (using the locator)

  1. Show us how to extend the application (Modules / Extensions ...)
    In classic .NET applications we can easily extend our applications as we have full access to Reflection API's.
    As far as I know Assembly.Load( ) is not available for UWP applications.

https://docs.microsoft.com/en-us/windows/uwp/launch-resume/extend-your-app-with-services-extensions-packages
In-proc code plugins are only supported in C++ as it seems.
Will such scenarios be possible with c# in a future UWP release?

I think a sample on how to extend a UWP app would be great for this sample app.

Best regards

SariDev

OutOfMemory exception in CatalogItem control

When navigation from Main Catalog to an item detail and back to Main Catalog again for several times, a System.OutOfMemoryException is risen in OnLoad() control event.

Steps to repro:

  1. Execute the App and go to Main Catalog.
  2. Press an item to see it details.
  3. Go back to Main Catalog.
  4. Repeat steps 2 and 3 several times.

An exception of type System.OutOfMemoryException: 'Insufficient memory to continue the execution of the program.' is risen and the App exits unexpectedly.

Project Update! Guide needed

Hello there, i tried to update the project to the last MvvMLight framework and WTS(windows template studio), everything worked but i got Page not found:ViewModels.ShellViewModel. Did you forget to call NavigationService.Configure?... after i signed in.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.