Choose your next coding journey
Explore focused software development and architecture routes, each built to move you one practical step closer to your destination.
Aggregator Pattern in ASP.NET Core Web APIs
Learn how to combine data from multiple services into a single, practical API response with the Aggregator Pattern. This course covers a basic implementation, caching, parallel requests, error handling, and gRPC. You will also explore the trade-offs involved in designing responsive, maintainable ASP.NET Core Web APIs that coordinate information from distributed sources.
API Versioning and Feature Flags in ASP.NET Core
Build ASP.NET Core APIs that can evolve safely without disrupting existing clients. This course introduces domain modeling, API versioning, feature flags, controller integration, and feature-aware API behavior. It also covers unit testing so you can introduce changes gradually, control releases, and keep multiple versions of an API maintainable.
Dapper with ASP.NET Core
Use Dapper to build fast, explicit data-access solutions in ASP.NET Core. Starting with the fundamentals, this course covers repository patterns, advanced querying, relationships and multi-mapping, transactions, commands, stored procedures, performance, and practical best practices. It is designed for developers who want control over SQL while keeping application code organized.
Dependency & Service Lifetimes in ASP.NET Core Web API
Understand how dependency injection and service lifetimes shape the behavior of ASP.NET Core Web APIs. This course explains the fundamentals of scoped services, lifetime mismatches, scoped dependencies, and the differences between scoped and singleton services. You will finish with practical guidance for avoiding lifetime-related bugs and registering services responsibly.
Environment-based Configurations in ASP.NET
Learn how to manage ASP.NET application settings across development, testing, and production environments. This course covers app settings files, configuration-bound POCOs, user secrets, environment variables, domain modeling, and service registration. You will build a clear configuration approach that keeps environment-specific values separate, testable, and easier to operate.
Implementing Resiliency in ASP.NET Core APIs
Design ASP.NET Core APIs that respond gracefully to temporary failures and dependency problems. This course explores retries, exponential backoff, fallbacks, circuit breakers, and application- and HTTP-client-level bulkheads. You will learn how these patterns work together to protect services, control failure propagation, and create more dependable production systems.
Mastering Hooks in React
Build a stronger foundation in React Hooks by working through state, side effects, memoization, callbacks, refs, controlled inputs, custom hooks, and architecture patterns. This course focuses on practical decisions: when to use each hook, how to avoid unnecessary work, and how to organize reusable React logic as applications grow.
Mastering Props in React
Learn how data and behavior move through React component trees. This course covers parent-child data flow, lists and filtering, conditional rendering, functions as props, state updates, composition, children props, reusable components, prop drilling, and performance improvements. You will develop clearer component boundaries and more maintainable React interfaces.
NHibernate in ASP.NET Core
Explore NHibernate in ASP.NET Core through a practical path from fundamentals to production concerns. You will work with repository and unit-of-work patterns, CRUD APIs, relationships, lazy loading, cascading, HQL, Criteria, LINQ, caching, interceptors, and performance. The course helps you understand both the capabilities and the design decisions behind an ORM-based application.
Rate Limiting and Throttling in ASP.NET Core
Protect ASP.NET Core applications from excessive traffic and resource contention with practical rate-limiting techniques. This course covers project setup, fixed windows, middleware, sliding windows, token buckets, and concurrency limits. You will learn how to choose and apply throttling strategies that improve fairness, stability, and predictable API behavior.
React Component Architecture
Design React components that remain understandable and reusable as an application expands. This course covers the Single Responsibility Principle, composition, controlled and uncontrolled components, container and presentational patterns, scalable architecture, and reusability. You will learn how to create clearer component boundaries and make architectural choices that support long-term change.
Using IndexDB in React Apps
Add durable client-side storage to React applications with IndexedDB. This course walks through setup, data-schema design, creating and adding records, reading, updating, deleting, searching, filtering, refactoring, and custom hooks. You will build a practical mental model for organizing browser data access while keeping React code predictable and reusable.