{ "items": [ { "text": "Getting Started", "items": [ { "text": "From Startup Templates", "items": [ { "text": "ASP.NET Core MVC", "path": "Getting-Started-AspNetCore-MVC-Template.md" } ] }, { "text": "From Empty Projects", "items": [ { "text": "With ASP.NET Core Web Application", "path": "Getting-Started-AspNetCore-Application.md" }, { "text": "With Console Application", "path": "Getting-Started-Console-Application.md" } ] } ] }, { "text": "Tutorials", "items": [ { "text": "Application Development", "items": [ { "text": "With ASP.NET Core MVC", "path": "Tutorials/AspNetCore-Mvc/Part-I.md" } ] } ] }, { "text": "Fundamentals", "items": [ { "text": "Dependency Injection", "path": "Dependency-Injection.md", "items": [ { "text": "AutoFac Integration", "path": "Autofac-Integration.md" } ] }, { "text": "Virtual File System", "path": "Virtual-File-System.md" }, { "text": "Localization", "path": "Localization.md" }, { "text": "Exception Handling", "path": "Exception-Handling.md" }, { "text": "Validation" }, { "text": "Authorization" }, { "text": "Caching" }, { "text": "Auditing" }, { "text": "Setting Management" } ] }, { "text": "Events", "items": [ { "text": "Event Bus (local)" }, { "text": "Distributed Event Bus", "items": [ { "text": "RabbitMQ Integration" } ] } ] }, { "text": "Services", "items": [ { "text": "Object Serialization" }, { "text": "JSON Serialization" }, { "text": "Emailing" }, { "text": "GUIDs" }, { "text": "Threading" }, { "text": "Timing" } ] }, { "text": "Multi Tenancy", "path": "Multi-Tenancy.md" }, { "text": "Module Development", "items": [ { "text": "Basics", "path": "Module-Development-Basics.md" }, { "text": "Plug-In Modules" }, { "text": "Best Practices", "path": "Best-Practices/Index.md" } ] }, { "text": "Domain Driven Design", "path": "Domain-Driven-Design.md", "items": [ { "text": "Domain Layer", "items": [ { "text": "Entities & Aggregate Roots", "path": "Entities.md" }, { "text": "Value Objects" }, { "text": "Repositories", "path": "Repositories.md" }, { "text": "Domain Services" }, { "text": "Specifications" } ] }, { "text": "Application Layer", "items": [ { "text": "Application Services", "path": "Application-Services.md" }, { "text": "Data Transfer Objects" }, { "text": "Unit Of Work" } ] } ] }, { "text": "ASP.NET Core", "items": [ { "text": "API", "items": [ { "text": "Auto API Controllers", "path": "AspNetCore/Auto-API-Controllers.md" }, { "text": "Dynamic C# API Clients", "path": "AspNetCore/Dynamic-CSharp-API-Clients.md" } ] }, { "text": "User Interface", "items": [ { "text": "Client Side Package Management", "path": "AspNetCore/Client-Side-Package-Management.md" }, { "text": "Bundling & Minification", "path": "AspNetCore/Bundling-Minification.md" }, { "text": "Tag Helpers", "path": "Tag-Helpers.md" }, { "text": "Theming", "path": "AspNetCore/Theming.md" } ] } ] }, { "text": "Data Access", "items": [ { "text": "Entity Framework Core Integration", "path": "Entity-Framework-Core.md" }, { "text": "MongoDB Integration", "path": "MongoDB.md" } ] }, { "text": "Background", "items": [ { "text": "Background Jobs", "path": "Background-Jobs.md", "items": [ { "text": "Hangfire Integration", "path": "Background-Jobs-Hangfire.md" }, { "text": "RabbitMQ Integration", "path": "Background-Jobs-RabbitMq.md" } ] } ] }, { "text": "Application Modules", "path": "Modules/Index.md" }, { "text": "Testing" }, { "text": "Contribution Guide", "path": "Contribution/Index.md" } ] }