Skip to content

JoeyMckenzie/BlazorConduit

Repository files navigation

Realworld logo

Blazor WebAssembly codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

Build Status Netlify Status Azure Static Web Apps CI/CD

This codebase was created to demonstrate a fully fledged fullstack application built with Blazor WebAssembly including CRUD operations, authentication, routing, pagination, and more.

We've gone to great lengths to adhere to the Blazor WebAssembly community styleguides & best practices.

For more information on how to this works with other frontends/backends, head over to the RealWorld repo.

How it works

This application is written according to the RealWorld frontend spec using Blazor WebAssembly. Following Blazor best practices, I decided to rely heavily on Fluxor utilizing redux throughout the application. For those new to Blazor, I would suggest reading the getting start docs from Microsoft before jumping into the codebase.

Getting started

  1. Clone/fork this repository
  2. Ensure you have the latest version of the .NET Core SDK installed (make sure you have the version used within global.json)
  3. cd into the BlazorConduit.Client project folder and run dotnet watch run
  4. The application should now be serving to https://localhost:5001

Testing

I use cypress for integration and end-to-end testing, with plans of eventually adding bUnit tests at some point. To run the tests:

  1. cd into the test project BlazorConduit.Integration.Tests
  2. Ensure you have npm installed
  3. Run npm install --save-dev
  4. Cypress should now be installed, fire it up with npx cypress open from within the test project directory
  5. In the cypress window, you should now see all the spec files and be able to run them