GithubHelp home page GithubHelp logo

uwp-client-app's Introduction

UWP Demo App

Intro

This is an application I developed from scratch, fully in solo, for the course INF3995 (final project of third year of engineering) - although the scope of the full project was larger than this project alone.

It is a MVVM client app made for UWP (now deprecated), but uses similar systems to an ASP.NET Core app.

As part of a bigger project, its purpose was to monitor a custom blockchain and its miners through a log viewer and a blockchain visualizer, aswell as providing user management. As a client app, data is retrieved by querying a REST API - to fetch the blocks, the logs and the users who can login and use the app. The app can only be used past a login page, which uses a simple OAuth system (login token).

Technicals

Although the app is a bit old today, it used a couple of cool features at the time, including, but not limited to:

  • databinding (with viewmodels)
  • relay commands
  • dependency injection
  • a resource loader
  • json schemas
  • a config file manager
  • a few unit tests with mocked data
  • a splash screen

Flow

On launch, the app requires the user to login. Doing so retrieves a login token, which is used for every subsequent request.
(Seen below: Splash screen on the left, Login page on the right)

Alt text

Past the login screen, the app offers four main views : a blockchain viewer, a logs viewer, a user manager, a settings page. When switching to one view, the previous one remains alive.
(Seen below: Logs viewer on top left, User manager on top right, Blockchain viewer on bottom left, Settings page on bottom right)

Alt text

(Not illustrated, but some care was given to UI aspects. For instance, the blockchain viewer illustrates the state of the block - red = 1 confirmation, yellow = 2, green = 3)

uwp-client-app's People

Contributors

ytro avatar nickbyd17 avatar thephosphorus avatar xaral avatar

Watchers

 avatar

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.