
Programming work – technologies used:
- .NET – an open-source, cross-platform development platform created by Microsoft. It allows you to create modern applications for various operating systems, such as Windows, Linux, macOS, as well as for mobile devices (Android, iOS), embedded systems and the cloud.
Key features of .NET:
- Cross-platform – .NET applications can run on different operating systems.
- Multiple language support – primarily C#, but also F# and Visual Basic.
- Versatility – enables the creation of web, desktop, mobile, gaming, cloud, microservices, APIs, and many more applications.
- Modern tools – integration with Visual Studio, support for CI/CD, debugging, unit testing, etc.
- Performance and security – a platform designed for high application performance and security.
- Extensive ecosystem – rich collection of libraries and tools, community support, and easy access to NuGet – the .NET package manager.
The .NET platform is widely used in business, corporate, and open-source environments. Thanks to regular updates and support from Microsoft, .NET remains one of the most popular technologies for creating applications in the modern IT world.
- Blazor – is a modern web framework that is part of the .NET platform, created by Microsoft. It allows you to create interactive and responsive web applications using C#, HTML and Razor – without having to write JavaScript code. With Blazor, .NET developers can create both the application logic and its user interface in the same language – C#, which increases code consistency and makes it easier for development teams to work
Blazor comes in several variants:
- Blazor Server – the logic runs on the server side and the UI is updated by SignalR.
- Blazor WebAssembly – the application runs directly in the browser, thanks to WebAssembly technology.
- Blazor Hybrid – enables the creation of desktop and mobile apps using Blazor and .NET MAUI.
This is a modern approach to creating web applications, allowing you to use knowledge from .NET and C# also in the frontend.
- THREE.js – a high-level JavaScript library that allows you to create advanced 3D graphics in your web browser using WebGL – without having to know the low-level WebGL API. The library was created to simplify the process of building 3D scenes, models, animations and special effects, while offering great possibilities and flexibility.
Main features of THREE.js:
- Creating 3D scenes with objects, lights, cameras and materials
- Support for 3D models (e.g. GLTF, OBJ, FBX formats)
- Animation of objects and cameras
- Light and shadow support (ambient, directional, point, spotlight)
- Support for special effects such as fog, reflections, particles, etc.
- Texture and material mapping support (bump map, normal map, environment map)
- Interactivity – ability to respond to user events (e.g. clicks, rotation of objects)
- Support for VR (Virtual Reality) and AR (Augmented Reality) using WebXR
Advantages of using THREE.js:
- A large and active community
- Extensive documentation and many examples
- Open-source (MIT licensed)
Biblioteka THREE.js wykorzystywana jest w celach wizualizacyjnych, systemów różnego zastosowania, gdzie wspomniane wizualizacje budowane są w technologii 3D. Wspomniana biblioteka zapewnia możliwość wizualizacji różnego typu takie jak rekonstrukcje tomograficzne czy lokalizacja obiektów w czasie rzeczywistym.
- Radzen Blazor – an advanced set of UI components designed for creating web applications in Blazor technology (both Blazor Server and Blazor WebAssembly). The project is developed by Radzen, which also offers a visual RAD (Rapid Application Development) tool – Radzen IDE.
Radzen Blazor Components are open-source and can be used standalone in any Blazor project without the need for Radzen IDE.
Radzen Blazor Key Features:
- Rich set of components: includes many ready-made components such as: datagrid, forms and validation, dialogs/panels/tabs and charts
- Responsiveness and style: components are responsive and styleable, so you can easily customize them to suit your needs or integrate them with an existing theme
- Integration with .NET and EntityFramework – components easily work with .NET backends and databases, which speeds up the development of business applications
- Event and data support: supports dynamic data sources, user events, validation, and data binding, allowing you to create interactive applications without a lot of code
- SignalR – biblioteka opracowana przez Microsoft w ramach platformy ASP.NET, która umożliwia komunikację w czasie rzeczywistym pomiędzy serwerem a klientem (np. przeglądarką internetową, aplikacją mobilną lub desktopową). Pozwala serwerowi aktywnie wysyłać dane do klienta bez potrzeby odpytywania go (tzw. push), co znacznie poprawia responsywność i interaktywność aplikacji.
SignalR Key Features:
- Two-way communication – both client and server can initiate messages in real time
- Automatic transport selection: SignalR automatically selects the best available transmission technology from those available:
- WebSockets (preferred)
- Server-Sent Events
- Long Pooling
- Multi-client support: ability to send messages to all, selected groups or specific users
SignalR is used in systems where real-time communication between the client and the server is necessary, using the PubSub (Publish/Subscribe) pattern. An example of such use can be informing clients about the change of an object’s location in location systems
- Kafka -a distributed platform for processing streaming data (event streaming platform), created by LinkedIn and currently developed as an open-source project within the Apache Foundation. Kafka is designed for fast, reliable, and scalable processing of large amounts of data in real time, both in high-load systems and in complex microservice environments.
Main Features:
- High throughput – Kafka can handle millions of messages per second
- Reliability – messages are persistent and can be stored on disk for a specified period of time
- Scalability – easily scale horizontally by adding brokers
- Fault tolerance – designed to work in clusters with data replication
Example application:
- Microservices integration (as a REST replacement for asynchronous communication)
- Real-time data analysis (real-time analytics)
- Sending system and application logs
The Kafka platform is used as a basic communication tool between many cooperating services. It provides high throughput even for large data structures such as tomographic data or reconstructions. It is also used in IoT systems, where it provides the possibility of, among others, queuing and buffering events.

Using Kafka Message Broker in a Smart Building Solution
- Redis – (stands for Remote Dictionary Server) is an ultra-fast key-value database that runs primarily in RAM (in-memory), providing very low latency and high throughput for read and write operations. Redis is an open-source project written in C, and is widely used as a cache, message queue, counter, user session, and even the main database in some cases.
Redis main features:
- RAM storage: data is stored in RAM but can be periodically written to disk (persistence)
- TTL (Time To Live) support – ability to automatically turn off data after a specified time
- Replication and clustering – can operate in master-slave and cluster modes, enabling scalability and high availability
- Pub/Sub (publish/subscribe) – a communication mechanism between processes, ideal for simple message or notification systems
Example application:
- Cache – caching database queries, calculation results, session data, etc.
- Session management – quick access to user data in web applications
- Counters and statistics – instant counting, e.g. visits, clicks, logins
The reason for using the Redis product is the need to store large amounts of data, written and read very often, where standard database solutions have proven insufficient. This data is used to visualize the location of objects in real time.