README.md

March 26, 2022 ยท View on GitHub

What is BlazingChat?

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

Demo_App

How to run it?

  • 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

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 john.smith@gmail.com
  • Or you can login with your Twitter or Facebook
  • Congratulations!!! you are using BlazingChat.

How does it work?

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.

How can I build it from scratch?

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.

TopicVideo Recording
Introduction/Full Course/Workshop - EP01https://youtu.be/v6Mt8HKAWa0
Hello World from Windows/Linux - EP02https://youtu.be/BajljUky-KA
Project Structure/Template - EP03https://youtu.be/S-skkhzcMmo
Routing, NavigationManager & AdditionalAssemblies : EP04https://youtu.be/86vyb4vDGTk
Debugging in VS Code, Chrome and Visual Studio : EP05https://youtu.be/4c2vli5567A
Entity Framework Core - EP06https://youtu.be/rACHqnkaORA
MVVM Architecture - EP07https://youtu.be/dvgReCfPsvg
Dependency Injection in MVVM - EP08https://youtu.be/bxpSa0ZmwtY
Using HttpClient in MVVM - EP09https://youtu.be/To-GSKOac10
Open-source Project - EP10https://youtu.be/6T-l-lt28rs
Custom Authentication - EP11https://youtu.be/B9jKf-Dn0Yg
AuthenticationState - EP12https://youtu.be/N8YoJRV19rw
Twitter Authentication/Login - EP13https://youtu.be/TZSwbey58CM
Facebook Authentication - EP14https://youtu.be/AoN-CzWJwa4
Google Authentication - EP15https://youtu.be/4lYPhionIEo
Migrating from 3.1 to .NET 5 - EP16https://youtu.be/kcihC-h69fE
CSS Isolation - EP17https://youtu.be/0EqMxSm_49k
Uploading Files - EP18https://youtu.be/sF6yhn2UJNs
Downloading Files : EP19https://youtu.be/qUbbtcZZqaI
Virtualize Component - EP20https://youtu.be/UtmAlX6U29k
JavaScript Isolation - EP21https://youtu.be/tbNgLNZnNWM
Lazy-loading Assemblies - EP22https://youtu.be/e_22VhPQJj0
Deploy to IIS(Internet Information System) - EP23https://youtu.be/vV0zn91OZfc
Creating Chat Application Using SignalR - EP24https://youtu.be/5VSUX6w5P8g
SignalR - Sending Messages to Specific Clients - EP25https://youtu.be/SeQvP8_dVng
Cookie Expiration & API Authorization - EP26https://youtu.be/QOFwpmjEW7g
Logging to Database using Custom Logger Provider - EP27https://youtu.be/SmFsQJBbsO0
Global Exception Handling using CascadingValue - EP28https://youtu.be/mxOYvu2MWFo
"Remember me" using Cookie Authentication - EP30https://youtu.be/220FQbMKyrg
Dark/Light Theme Switch - EP31https://youtu.be/5qRaUviEYIw
JWT Authorization - EP32https://youtu.be/bu6F4oeYdzA
JWT For Facebook Authentication - EP33https://youtu.be/bBvDQ9z1Xdw
Authorization using CascadingAuthenticationState & JWT - EP34https://youtu.be/uthjcpJHzKo
Deploying Blazor + WebAPI using GitHub Actions(CI/CD) - EP35https://youtu.be/m7DqtL0WIV0
Upgrade NET5 to NET6 in 8 minutes - EP36https://youtu.be/qNPKnrSEr-Y
.NET6 : Program.cs Changes - EP37https://youtu.be/iBBU0KC8EKw

Have any other questions?

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.