/dotvvm-samples-checkbook

Sample DotVVM web app

Primary LanguageC#Apache License 2.0Apache-2.0

Screenshot

CheckBook: DotVVM Sample App

This is a sample application featuring the basic principles of DotVVM, an open source MVVM framework for ASP.NET Core and OWIN.

This application demonstrates using DotVVM 4.1.0 with ASP.NET Core, Entity Framework Core and SQLite database.

You can find an older version of this sample using ASP.NET 4.5 with OWIN in the dotnetframework branch.

Prerequisites

How to run the sample

  1. Open the GitHub repo in Visual Studio or git clone https://github.com/riganti/dotvvm-samples-checkbook.git

  2. Open src/CheckBook.sln Open the solution file

  3. Right-click the Checkbook.App project and select View > View in Browser View CheckBook in Browser

  4. The default user account is smith@test.com / Pa$$w0rd.


Features Demonstrated in the Sample


The sample is a demonstration of a simple web app with common features like authentication. There are two projects in the application:

  • CheckBook.DataAccess - Data Access Layer and Business Layer of the application

    • Model folder contains Entity Framework Core model

    • Services folder is a simple business layer. The services are registered in the IServiceCollection in the Startup.cs file.

    • Data contains objects that are passed from the DataAccess project to the App project. We don't use Entity Framework Core entities in the viewmodels because it would cause serialization and other issues. We always transform them to these Data Transfer Objects.

  • CheckBook.App - a DotVVM web application

    • Controls folder contains two markup controls referenced from the pages.

    • ViewModels folder contains viewmodels of all pages. Most of the viewmodels derive from the base class called AppViewModelBase.

    • Views folder contains DotHTML pages and a master page.

    • Startup.cs is a main application entry point.

    • DotvvmStartup.cs contains DotVVM route and resource configuration.