Real-time Collaborative Voting Web Application
This example of real-time collaboration application was created in 22 hours for a client demo (full disclosure, a colleague did the html & css, but all other code, including (basic!) javascript is by me). Users can log in, see specific events from their calendar, start a collaborative session. Then, they see details pulled from a json end point (origin of data being Microsoft Dynamics), a chat, and can real-time vote (centrally) before pushing a final Accept/Reject decision to a Json endpoint.
Many thanks to my employer Felinesoft Ltd (note: a Microsoft Gold Partner) for allowing this project to become open source.
Video Introduction
Technology Used
This project combines:
- SignalR
- Microsoft Graph (with @christosmatskas blog post - super thanks!)
- .Net Core 3.1 razor web app
- Azure Functions
- Durable Entities
- C#8 Nullable reference types
- System.Net.Http.Json NugetPackage (what a timesaver!)
Points to Note
Please bear in mind:
- I've never used Razor Web Apps before
- Coding C# 2.5 years at this stage
- Know very very little javascript
- Only had 3 days to do this in
- (Also my colleague didn't mention the client would actually use the site directly until 11pm the night before the demo - so if you notice some last minute
...First().Where(...)
in the code - you'll know why😉 )