Building a Chat System Without Azure Chat – Part 1

by 

|

in

In a previous blog post series, we built an entire chat system on top of Azure Communication Services. We focused on a lot of the details in building the system using Azure Chat. While Azure Chat helps solve a lot of the problems with these kinds of projects, it still took a lot of effort…

Read more…

Getting Started with OAuth2 Authentication

by 

|

in ,

Authentication is a big and scary topic in the world of software development, but it doesn’t have to be. OAuth with PKCE (Proof Key for Code Exchange) is easy to implement. OAuth is short for “Open Authorization”. It is a common way to access data on the web. You often encounter OAuth when you sign…

Read more…

RIP Visual Studio for Mac

by 

|

in

Visual Studio Mac is dead or will be 8/31/2024. This probably doesn’t affect many of you, but this is an interesting turn of events. Visual Studio Mac has a fascinating lineage. Microsoft created .NET years ago (2001), and alongside .NET an open-source alternative was created (Mono). Developers needed an alternative editor, which begot SharpDevelop. And…

Read more…

Using TypeScript/Node to Send Push Notifications to iOS

by 

|

in

Sending push notifications is a common feature to add when building mobile applications. A push notification is a message sent from a backend server to your application running on an iPhone or iPad. One of the cool things about push notifications is that they will be handled by the phone even if your application is…

Read more…

Using html2canvas

by 

|

in

Pictures often provide more meaning than can be provided by text. You know the pain if you have ever had to explain what is happening in an application but struggled to find the right words. Sometimes it’s just easier to send a screenshot. This is where html2canvas comes in. This handy little piece of JavaScript…

Read more…

Lowering Overhead with Fastify

by 

|

in ,

NodeJS is one of the more common server hosting environments out there. We at Don’t Panic Labs tend to use .NET instead of NodeJS for the hosting of backend systems, but I like to use NodeJS for a lot of my experiments as it often forces me to learn new things. When standing something up…

Read more…

Building a Chat System – Part 6

by 

|

in

In this series on building a chat system, we have gone through many parts that make up chat applications using Azure Chat. How all this works together may be a little difficult to follow. There are a lot of pieces, and it might not be obvious what each piece is doing. The Frontend – This…

Read more…

Building a Chat System – Part 5

by 

|

in

So far on our journey to build a chat system, we’ve covered setting up the Ionic framework, creating a user in Azure Chat, adding the ability to store more messages, and implementing a way to censor offensive words. Now we will cover actually interacting with Azure Chat. Azure Chat isn’t a full-blown component you drop…

Read more…

Building a Chat System – Part 4

by 

|

in

In our journey to build a chat system, we’ve covered setting up the Ionic framework, creating a user in Azure Chat, and adding the ability to store more messages. Now it’s time to clean up our language. With any chat solution, you run the risk of communication creating some points of conflict. One of those…

Read more…

Using Azure Table Storage

by 

|

in

Azure Storage tables are simple; they’re basically rows and columns. Storage tables can be used to store data much like you would with Azure SQL. While Azure SQL has more features, there is something nice about the simplicity of Storage tables. Once you get your data into storage tables, you will likely need to see…

Read more…