Code Monkey home page Code Monkey logo

ghackenberg / csharp-maui-aspnet-sample Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 10.0 21.29 MB

This project contains a sample application written in C# with cross-platform graphical user interface (GUI) based on MAUI.NET and Cloud-based REST API based on ASP.NET Core

License: MIT License

Mermaid 56.87% C# 42.73% CSS 0.40%
asp-net asp-net-core asp-net-core-web-api aspnet-core aspnetcore csharp dotnet dotnet-core dotnetcore maui maui-app maui-apps

csharp-maui-aspnet-sample's Introduction

C# MAUI.NET / ASP.NET Sample Application

Logo

๐Ÿ’ฌ Synopsis

This project contains a sample application based on the awesome Microsoft MAUI.NET and ASP.NET frameworks.

We use this sample project at the School of Engineering of the University of Applied Sciences Upper Austria in Wels, Austria for teaching courses in Mobile and Cloud Computing to our engineering and management students. Since we mainly use C# as a language and DotNet as a framework in our programming courses in the earlier semester, we decided to use the MAUI.NET and ASP.NET frameworks in this course. The MAUI.NET and ASP.NET frameworks provide the following capabilities:

  • MAUI.NET supports building cross-platfrom graphical user interfaces (GUIs).
  • ASP.NET supports building Cloud services with state-of-the-art REST APIs.

๐Ÿ“ฆ Packages

The following diagram explains the package structure of the sample application:

C# MAUI.NET / ASP.NET Packages

Each package in this structure serves a different purpose:

  • The CustomLib package provides common classes and interfaces to the other packages and, hence, forms a contract between them.
  • The CustomApi package provides a HTTP REST API server implementation with in-memory data store based on the Microsoft ASP.NET framework.
  • The CustomSdk package provides a HTTP REST API client implementation for the two frontend applications as well as third party software.
  • The CustomCli package provides a Command Line Interfaces (CLI) for sending requests to the HTTP REST API and printing responses.
  • The CustomApp package provides a Graphical User Interface (GUI) based on the cross-platform Microsoft MAUI.NET framework.

Note that we have used similar package structures for production-grade applications in the past. Hence, this package structure also represents a best practice recommendation that you are free to reuse at your own risk!

If you want to know more about this, we suggest diving into the code! ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ˜‰

๐Ÿ“ Guides

The following set of guides helps you getting started with MAUI.NET and ASP.NET development on your local machine. Note that the guides have been prepared for Windows machines only. In principle, MAUI.NET and ASP.NET development should be possible also on OS X and Linux machines. However, we did not test that!

๐Ÿ“ธ Screenshots

In the following, we provide screenshots of the sample application to give a first impression of its functionality. The following screenshots are included:

  1. MAUI.NET Users Page provides a list of existing users
  2. MAUI.NET User Page provides details of one user
  3. MAUI.NET Issues Page provides a list of existing issues
  4. MAUI.NET Issue Page provides details of one issue
  5. ASP.NET Swagger UI provides the REST API documentation

The MAUI.NET Users Page provides a list of existing users, allows you to reload the list of existing users, and provides means for editing existing users or creating new users. The users are retrieved from the backend service.

MAUI.NET / ASP.NET Sample Users Screenshot

The MAUI.NET User Page provides means for editing the information of existing users or entering the information of new users and sending the information to the Cloud-based backend services for long-term storage.

MAUI.NET / ASP.NET Sample User Screenshot

The MAUI.NET Issues Page provides a list of existing issues, allows you to reload the list of existing issues, and provides means for editing existing issues or creating new issues. The issues are retrieved from the backend service.

MAUI.NET / ASP.NET Sample Issues Screenshot

The MAUI.NET Issue Page provides means for editing the information of existing issues or entering the information of new issues and sending the information to the Cloud-based backend services for long-term storage.

MAUI.NET / ASP.NET Sample Issue Screenshot

The ASP.NET Swagger UI provides a documentation of the Cloud-based backend services, which are exposed via HTTP REST API. For each endpoint, the expected inputs and provided outputs are shown including examples.

MAUI.NET / ASP.NET Sample User Screenshot

๐Ÿ“œ Documents

As for every open source project, we provide three standard documents: The license agreement for using the source code, rules for contributing to the source code of the project, and a change log summarizing relevant changes to the source code:

csharp-maui-aspnet-sample's People

Contributors

ghackenberg avatar

Stargazers

 avatar  avatar

Watchers

 avatar

csharp-maui-aspnet-sample's Issues

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.