--- sidebar_position: 2 title: Progress --- ## Introducing Blazor * Steps * Structure * Pages * Browsing * Code location * Binding * Use HTML/Css/JS ## Create a new Blazor Server project * Steps * Creation of a new project with Visual Studio ## Display data with Blazor * Steps * Creation of a new page * Generation of false data * Use data * Use an HTML table * Use Blazorise * Use paging with Blazorise * Concepts * Layout * Serialization * Life cycle events * NuGet ## Add a new item * Steps * Store our data in the LocalStorage * Creation of a new page * Add an `Add` button * Creation of the add-on model * Creation of the form * Redirect to listing page * Display of downloaded image * Concepts * Blazor Storage * Routing * Data Annotation * Form and validation * Uri and browsing state assistance ## DI & IOC * Steps * Creation of a data service * Concepts * Dependency Injection (DI) * Inversion of Control (IOC) ## Edit an item * Steps * Modification of the data service * Add Edit action * Creation page edit * Creation of the edit form * Using the model * Use the Pattern Factory * Concepts * URL parameters * Component Parameters * Factory Pattern ## Delete an item * Steps * Modification of the data service * Add Delete action * Install Blazored.Modal * Creation of a confirmation popup * Concepts * Cascading Parameters ## Globalization & Localization * Steps * User language selection * Translate the site thanks to the resources * Concepts * Controllers * Resource files * Culture ## Razor component * Steps * Creation of a generic component * Creation of a complex component * Component Description * Classes appendix of the component * Creation of the `item` component element * Creation of the `craft` component element * Component Usage * Concepts * RenderFragment * Event handling * IJSRuntime * CascadingValue & CascadingParameter ## API * Steps * Make HTTP requests * Concepts * IHttpClientFactory ## Setup * Steps * Using Setup ## Logger * Steps * Use of logs :::info Bonus part (likely to change over time) ::: ## Using graphQL API / Grpc * Steps * Filter management ## Using Websockets * Steps * Customer notification ## Authentication * Steps * Creation of an authentication page * Use authentication with APIs ## Various * Steps * Dockerization of the project or part of the project * Using SonarQube * Using OpenId Connect and/or OAuth * Implementation of an identity server (Identity Server 4 for example) * MVVM