Deep Dive
·
Jan 10, 2025
·
6 min read Introduction # In modern software development, projects often consist of multiple repositories working together seamlessly. For instance, microservices architectures rely on modularity, where each service has its own repository. While this independence is beneficial, managing numerous repositories as a single cohesive unit can be daunting. Enter the meta-repository: a powerful tool that simplifies the management of multiple interdependent Git repositories, enabling streamlined workflows without sacrificing modularity.
Deep Dive
·
Jan 6, 2025
·
15 min read TL;DR # This article demonstrates how to build a REST API that converts natural language into SQL queries using multiple LLM providers (OpenAI, Azure OpenAI, Claude, and Gemini). The system dynamically selects the appropriate AI service based on configuration, executes the generated SQL against a database, and returns structured results. It includes a complete implementation with a service factory pattern, Docker setup, and example usage.
Deep Dive
·
Dec 29, 2024
·
22 min read TL;DR # This article provides a comprehensive guide to efficient file management with Azure Blob Storage using .NET and Angular. We cover four upload strategies:
Deep Dive
·
Dec 24, 2024
·
11 min read Introduction # Microsoft Graph API provides a unified endpoint for accessing Microsoft 365 services, including SharePoint. This article demonstrates how to implement create, read, update, and delete (CRUD) operations for files in SharePoint document libraries using Microsoft Graph API and .NET. You’ll learn how to authenticate to Microsoft Graph, navigate SharePoint site structure, and manage files programmatically.
Deep Dive
·
Dec 7, 2024
·
11 min read Introduction # Artificial Intelligence is transforming how we build applications, particularly in creating natural, conversational user experiences. This article guides you through building a full-stack AI chat application using .NET on the backend, Angular for the frontend, and Azure OpenAI for powerful language model capabilities, all connected through real-time SignalR communication.
Deep Dive
·
Dec 1, 2024
·
7 min read Introduction # Data Transfer Objects (DTOs) play a critical role in Clean Architecture by separating your internal domain model from the data structures exposed to clients. They enhance security, performance, and maintainability by providing a controlled interface between your application’s core and external systems. This article explores best practices for designing and implementing DTOs in the Contact Management Application.
Deep Dive
·
Dec 1, 2024
·
11 min read Overview # Clean Architecture is a powerful software design pattern that promotes a clear separation of concerns, making your application’s core business logic independent of external dependencies like databases, user interfaces, or frameworks. By following this architecture, systems become maintainable, testable, and adaptable, preparing them for both current demands and future growth.
Deep Dive
·
Dec 1, 2024
·
6 min read Introduction # Dependency Injection (DI) is a key design pattern in Clean Architecture that facilitates loose coupling between components. By injecting dependencies rather than hard-coding them, we create more maintainable, testable code where components can be easily swapped or mocked. This article explores how to implement DI across different architectural layers in the Contact Management Application.
Deep Dive
·
Dec 1, 2024
·
10 min read Introduction # Docker has revolutionized application deployment by enabling consistent environments across development, testing, and production. In Clean Architecture, containerization aligns perfectly with the separation of concerns principle, allowing each layer to be independently developed and deployed. This article explores how to Dockerize the Contact Management Application’s .NET Core API and MS SQL Server database.
Deep Dive
·
Dec 1, 2024
·
7 min read Introduction # Effective error handling is critical for building robust APIs that can gracefully manage unexpected situations. In Clean Architecture, consistent error responses and proper exception management improve the user experience and simplify debugging. This article explores how the Contact Management Application implements centralized error handling through middleware, custom exceptions, and standardized API responses.
Deep Dive
·
Dec 1, 2024
·
19 min read Introduction # Role-Based Access Control (RBAC) is a critical component of secure application design that restricts access to resources based on user roles and permissions. This article explores how the Contact Management Application implements a flexible and maintainable RBAC system that covers both the backend API and frontend Angular application, integrating with JWT authentication to secure endpoints and UI elements while maintaining the separation of concerns that Clean Architecture demands.
Deep Dive
·
Dec 1, 2024
·
6 min read Introduction # Tracking user activities is crucial for security, auditing, and troubleshooting in any application. This article explores how to implement activity logging in the Contact Management Application using custom .NET attributes and action filters. This approach seamlessly integrates logging into the application without cluttering controllers or business logic with repetitive logging code.