Skip to content

soumyasg/BlazingChat

 
 

Repository files navigation

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.

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

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.

About

This is a blazor webassmbly chat app using SignalR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 58.7%
  • HTML 27.8%
  • CSS 8.7%
  • JavaScript 4.8%