BlazingChat is a Blazor WebAssembly app developed by CuriousDrive
for the community.
This is a sample application for developers who are just getting started with Blazor.
BlazingChat has code samples for Authentication, Logging, Virtualization ... and much more. The app is open source and running in production.
Check it out here https://www.blazingchat.com
- Install Visual Studio 2022.
- Clone repo
https://github.com/CuriousDrive/BlazingChat.git
on your machine. - Open solution file
src/BlazingChat.sln
- Make sure to select
WebAPI
&Client
to run as multiple startup projects
- Press
Cntrl + F5
to run the app. It should open the app in your default browser. - Click on login. You should get logged in with email address
[email protected]
- Or you can login with your Twitter or Facebook
- Congratulations!!! you are using BlazingChat.
The front-end is made using Blazor WebAssembly and the back-end is made using ASP.NET Core Web API + Entity Framework Core. SQLite is used to store the data. You can run this app on Windows, Mac or Linux operating systems. The repo is maintained episode by episode so that you can go back to particular episode and the code related to it.
The best part about BlazingChat app is that it's been documented while it was getting built.
Please check out the videos below, if you want to learn how to build your own Blazor WebAssembly app from scratch.
Topic | Video Recording |
---|---|
Introduction/Full Course/Workshop - EP01 | https://youtu.be/v6Mt8HKAWa0 |
Hello World from Windows/Linux - EP02 | https://youtu.be/BajljUky-KA |
Project Structure/Template - EP03 | https://youtu.be/S-skkhzcMmo |
Routing, NavigationManager & AdditionalAssemblies : EP04 | https://youtu.be/86vyb4vDGTk |
Debugging in VS Code, Chrome and Visual Studio : EP05 | https://youtu.be/4c2vli5567A |
Entity Framework Core - EP06 | https://youtu.be/rACHqnkaORA |
MVVM Architecture - EP07 | https://youtu.be/dvgReCfPsvg |
Dependency Injection in MVVM - EP08 | https://youtu.be/bxpSa0ZmwtY |
Using HttpClient in MVVM - EP09 | https://youtu.be/To-GSKOac10 |
Open-source Project - EP10 | https://youtu.be/6T-l-lt28rs |
Custom Authentication - EP11 | https://youtu.be/B9jKf-Dn0Yg |
AuthenticationState - EP12 | https://youtu.be/N8YoJRV19rw |
Twitter Authentication/Login - EP13 | https://youtu.be/TZSwbey58CM |
Facebook Authentication - EP14 | https://youtu.be/AoN-CzWJwa4 |
Google Authentication - EP15 | https://youtu.be/4lYPhionIEo |
Migrating from 3.1 to .NET 5 - EP16 | https://youtu.be/kcihC-h69fE |
CSS Isolation - EP17 | https://youtu.be/0EqMxSm_49k |
Uploading Files - EP18 | https://youtu.be/sF6yhn2UJNs |
Downloading Files : EP19 | https://youtu.be/qUbbtcZZqaI |
Virtualize Component - EP20 | https://youtu.be/UtmAlX6U29k |
JavaScript Isolation - EP21 | https://youtu.be/tbNgLNZnNWM |
Lazy-loading Assemblies - EP22 | https://youtu.be/e_22VhPQJj0 |
Deploy to IIS(Internet Information System) - EP23 | https://youtu.be/vV0zn91OZfc |
Creating Chat Application Using SignalR - EP24 | https://youtu.be/5VSUX6w5P8g |
SignalR - Sending Messages to Specific Clients - EP25 | https://youtu.be/SeQvP8_dVng |
Cookie Expiration & API Authorization - EP26 | https://youtu.be/QOFwpmjEW7g |
Logging to Database using Custom Logger Provider - EP27 | https://youtu.be/SmFsQJBbsO0 |
Global Exception Handling using CascadingValue - EP28 | https://youtu.be/mxOYvu2MWFo |
"Remember me" using Cookie Authentication - EP30 | https://youtu.be/220FQbMKyrg |
Dark/Light Theme Switch - EP31 | https://youtu.be/5qRaUviEYIw |
JWT Authorization - EP32 | https://youtu.be/bu6F4oeYdzA |
JWT For Facebook Authentication - EP33 | https://youtu.be/bBvDQ9z1Xdw |
Authorization using CascadingAuthenticationState & JWT - EP34 | https://youtu.be/uthjcpJHzKo |
Deploying Blazor + WebAPI using GitHub Actions(CI/CD) - EP35 | https://youtu.be/m7DqtL0WIV0 |
Upgrade NET5 to NET6 in 8 minutes - EP36 | https://youtu.be/qNPKnrSEr-Y |
.NET6 : Program.cs Changes - EP37 | https://youtu.be/iBBU0KC8EKw |
If you have any questions on how this project is setup then you can reach out to us on below handles.
https://twitter.com/curious_drive
https://www.facebook.com/curiousdrive/
https://www.youtube.com/c/curiousdrive
Let us know how it goes.