You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Blazor CRUD is a demo application built with the Blazor framework using the client-side hosting model with WebAssembly in the browser invoking .NET Core REST APIs secured by a JWT service. To browse the two components of the application, follow the links below. For authenticated pages and APIs, use the credentials (admin / admin).
Blazor CRUD Application - A client side hosted WASM application built using Blazor. The application highlights CRUD data entry for entities, data pagination, client-side validation using Data Annotations, and authentication and authorization using JWT tokens.
Blazor CRUD REST API - A REST API for CRUD with non-read API calls secured with JWT. The API includes a call to authenticate users and receive a JWT bearer token.
Blazor CRUD uses the following DevOps environment and tools to support a CI / CD process:
GitHub Source Code Repository - All source code is stored in the GitHub repository, which is where you currently find yourself.
Azure DevOps for CI/CD - Azure DevOps is used for continunous integration and continuous delivery (CI/CD). Builds and deployments are initiated with every cheackin to the main brach of the solution in GitHub.
DockerHub for Container Storage - DockerHub is where BlazorCrud tagged Docker images are stored after being created in the CI/CD pipeline. The can also be pulled and run locally by using the command "docker pull thbst16/blazor-crud".
Screens
Home page with BlazorCRUD features
Login page
Paginated results and search
Edit page for complex objects with validations
Features
Online demo site to explore the application
CI/CD Using Azure DevOps
Docker container generation as a single deployable Docker image
Entity lists with pagination and search
Data entry forms with validations
Complex data entry with object graph validations
File upload and download using JavaScript Interop
Batch processing of JSON files
REST interfaces with Swagger documentation
Javascript Web Token (JWT) authentication
Data generation to pre-populate thousdands of entity records
Motivation and Credits
I would not have got this project completed without the vast knowledge of experienced peers at my disposal. Referenced below are items that were specifically helpful with specific functional attributes of the solution.