SignalR Chat App 🗨️

.NET Core
Event-driven Architecture

A chat application built with SignalR and .NET Core 7. Users can create chat rooms, join chat rooms, and send messages to each other in real time.

Summary ✨

A chat app that allows users to communicate with each other in real-time. Users can create channels, join them, and send messages. They can further delete or edit their messages and also delete channels. To simplify and put more focus on the real-time aspect of the app, there are no proper user accounts and authentication. Users can be impersonated easy and it is up to the user to choose a unique username. The app is built with `.NET 7` and `React`.

Details 🔎

As a part of my BCIT C# course, this project is meant to teach us how to use `SignalR` to implement real-time features. The app is built with `.NET 7` (`C#`), `React` (`TypeScript`), and `daisyUI` (`Tailwind CSS`), and is deployed on `Railway` for which I have an article that you can read here.

Challenges 🥵

Deploying the app on `Railway` was a bit of a challenge since I couldn't find any proper documentation or tutorials on how to do it. I had to figure it out by experimenting and reading `Railway` documentation.

Takeaway 📖

I definitely learned so much about `Railway CLI` to deploy the app. That also lead to writing a blog post and sharing my solution with the community. I also learned a lot about `ASP.NET`'s APIs. I worked with `SignalR` before hand, but this was a good refresher.

`Tailwind` was as amazing as always. Didn't learn anything new except using `daisyUI` plugin, which was kind of fun. I highly recommend checking them out if you haven't already. daisyUI