|
12 | 12 | <section class="section-card"> |
13 | 13 | <BitText Typography="BitTypography.H5" Gutter>GitHub Copilot Chat Interactive Learning</BitText> |
14 | 14 | <div class="section-card-txt"> |
15 | | - After creating your project from bit Boilerplate, we highly recommend using the built-in <span class="bold-txt">Run getting started</span> to interactively learn about your project architecture directly in your IDE. |
| 15 | + After creating your project from bit Boilerplate, we highly recommend using the built-in getting started to interactively learn about your project architecture directly in your IDE. |
16 | 16 | <br /><br /> |
17 | | - This interactive guide is available in <span class="bold-txt">GitHub Copilot Chat</span> within <span class="bold-txt">Visual Studio</span> or <span class="bold-txt">Visual Studio Code</span>. Simply type <code>Run getting started </code> in the chat and choose the getting started prompt to begin your onboarding journey. |
| 17 | + This interactive guide is available in <span class="bold-txt"><u>GitHub Copilot Chat</u></span> within <span class="bold-txt">Visual Studio</span> or <span class="bold-txt">Visual Studio Code</span>. Simply type <span class="bold-txt"><u>Run getting started</u></span> in the GitHub Copilot Chat while <span class="bold-txt"><u>Claude Sonnet 4.5</u></span> is selected to begin your onboarding journey. |
18 | 18 | <br /><br /> |
19 | | - The guide walks you through the project in multiple stages, using <span class="bold-txt">real examples from your actual codebase</span>: |
20 | | - This is the <span class="bold-txt">recommended next step</span> for developers after creating their project, providing a hands-on, context-aware learning experience tailored to your specific codebase. |
| 19 | + The guide walks you through the project in multiple stages, using <span class="bold-txt">real examples from your own project</span>: |
21 | 20 | </div> |
| 21 | + |
| 22 | + <div class="video-container"> |
| 23 | + <div class="video-wrapper"> |
| 24 | + <video controls |
| 25 | + title="Interactive docs" |
| 26 | + src="https://videos.bitplatform.dev/InteractiveDoc.mp4" /> |
| 27 | + </div> |
| 28 | + </div> |
| 29 | + |
| 30 | + <BitText Typography="BitTypography.H5" Gutter>Interactive Learning's Comprehensive Stages:</BitText> |
| 31 | + <br /> |
| 32 | + |
| 33 | + The interactive guide covers your entire project architecture across 25 detailed stages. Each stage provides real examples from your own project with interactive Q&A: |
| 34 | + |
| 35 | + <div id="ef-core" style="margin-top: 1rem;"> |
| 36 | + <strong>Stage 1: Entity Framework Core</strong> |
| 37 | + <p>Learn about DbContext, entity models, entity type configurations, and migrations. Understand nullable reference types in EF Core relationships and client-side offline database support.</p> |
| 38 | + </div> |
| 39 | + |
| 40 | + <div id="dtos-mappers" style="margin-top: 1rem;"> |
| 41 | + <strong>Stage 2: DTOs, Mappers, and Mapperly</strong> |
| 42 | + <p>Explore Data Transfer Objects, `AppJsonContext`, and how Mapperly simplifies object mapping. Learn the difference between Project() and Map() methods, and how Patch() updates client-side objects.</p> |
| 43 | + </div> |
| 44 | + |
| 45 | + <div id="api-odata" style="margin-top: 1rem;"> |
| 46 | + <strong>Stage 3: API Controllers and OData</strong> |
| 47 | + <p>Understand controller architecture, [AutoInject] attribute, and OData query support ($filter, $top, $skip, $orderby). Learn about PagedResult for total counts, data security, and optimized performance patterns.</p> |
| 48 | + </div> |
| 49 | + |
| 50 | + <div id="background-jobs" style="margin-top: 1rem;"> |
| 51 | + <strong>Stage 4: Background Jobs and CancellationToken Management</strong> |
| 52 | + <p>Discover automatic request cancellation, CancellationToken usage, NavigationLock for critical operations, and Hangfire for reliable background job processing with persistence.</p> |
| 53 | + </div> |
| 54 | + |
| 55 | + <div id="localization" style="margin-top: 1rem;"> |
| 56 | + <strong>Stage 5: Localization and Multi-language Support</strong> |
| 57 | + <p>Master resource files (resx), `DtoResourceType` attribute, `AppDataAnnotationsValidator`, IStringLocalizer usage, and the `bit-resx` tool for managing translations.</p> |
| 58 | + </div> |
| 59 | + |
| 60 | + <div id="exception-handling" style="margin-top: 1rem;"> |
| 61 | + <strong>Stage 6: Exception Handling and Error Management</strong> |
| 62 | + <p>Learn about Known vs Unknown exceptions, safe exception throwing, `WithData()` and `WithExtensionData()` methods, automatic exception handling in Blazor, and `WrapHandled()` for event handlers.</p> |
| 63 | + </div> |
| 64 | + |
| 65 | + <div id="identity-auth" style="margin-top: 1rem;"> |
| 66 | + <strong>Stage 7: ASP.NET Core Identity / Authentication & Authorization</strong> |
| 67 | + <p>Comprehensive coverage of JWT tokens (access/refresh), session management, SSO integration (Google, GitHub, Azure AD, etc.), role-based and policy-based authorization, and identity configuration.</p> |
| 68 | + </div> |
| 69 | + |
| 70 | + <div id="blazor-pages" style="margin-top: 1rem;"> |
| 71 | + <strong>Stage 8: Blazor Pages, Components, Styling & Navigation</strong> |
| 72 | + <p>Understand the three-file structure (.razor, .razor.cs, .razor.scss), isolated component styles, global styles, ::deep selector, Bit.BlazorUI components, and navigation with `PageUrls`.</p> |
| 73 | + </div> |
| 74 | + |
| 75 | + <div id="dependency-injection" style="margin-top: 1rem;"> |
| 76 | + <strong>Stage 9: Dependency Injection & Service Registration</strong> |
| 77 | + <p>Explore service registration patterns across different projects, `AddSessioned` method for session-scoped services, and appropriate service lifetimes (Singleton, Scoped, Transient, `Sessioned`).</p> |
| 78 | + </div> |
| 79 | + |
| 80 | + <div id="configuration" style="margin-top: 1rem;"> |
| 81 | + <strong>Stage 10: Configuration (appsettings.json)</strong> |
| 82 | + <p>Learn about configuration hierarchy across projects, appsettings.{environment}.json files, configuration priority, and how to use *__Comment for JSON comments.</p> |
| 83 | + </div> |
| 84 | + |
| 85 | + <div id="typescript" style="margin-top: 1rem;"> |
| 86 | + <strong>Stage 11: TypeScript, Build Process & JavaScript Interop</strong> |
| 87 | + <p>Understand TypeScript integration, MSBuild targets for JavaScript compilation, `IJSRuntimeExtensions` for C#-to-JS calls, and how to add npm packages with type definitions.</p> |
| 88 | + </div> |
| 89 | + |
| 90 | + <div id="blazor-modes" style="margin-top: 1rem;"> |
| 91 | + <strong>Stage 12: Blazor Modes, PreRendering & PWA</strong> |
| 92 | + <p>Explore Blazor Server, WebAssembly, and Auto modes, pre-rendering configuration for SEO and performance, PWA capabilities, service workers, and `IPrerenderStateService`.</p> |
| 93 | + </div> |
| 94 | + |
| 95 | + <div id="force-update" style="margin-top: 1rem;"> |
| 96 | + <strong>Stage 13: Force Update System</strong> |
| 97 | + <p>Learn how `ForceUpdateMiddleware` validates app versions on every request, supports platform-specific update behaviors (auto-update for web/Windows, store redirect for mobile), and ensures all users run supported versions.</p> |
| 98 | + </div> |
| 99 | + |
| 100 | + <div id="response-caching" style="margin-top: 1rem;"> |
| 101 | + <strong>Stage 14: Response Caching System</strong> |
| 102 | + <p>Master multi-layer caching: client-side memory cache, browser HTTP cache, CDN edge cache, and ASP.NET Core Output Cache. Learn about `AppResponseCache` attribute, cache purging with `ResponseCacheService`, and optimizing performance.</p> |
| 103 | + </div> |
| 104 | + |
| 105 | + <div id="logging" style="margin-top: 1rem;"> |
| 106 | + <strong>Stage 15: Logging, OpenTelemetry and Health Checks</strong> |
| 107 | + <p>Understand ILogger for logging, `AppActivitySource` for tracking operations, in-app Diagnostic Modal, integration with Sentry and Azure App Insights, Aspire Dashboard, and built-in health checks.</p> |
| 108 | + </div> |
| 109 | + |
| 110 | + <div id="cicd" style="margin-top: 1rem;"> |
| 111 | + <strong>Stage 16: CI/CD Pipeline and Environments</strong> |
| 112 | + <p>Explore workflow files, environment configuration (Development, Staging, Production), build and deployment pipelines for client platforms, and best practices for secure backend deployment.</p> |
| 113 | + </div> |
| 114 | + |
| 115 | + <div id="testing" style="margin-top: 1rem;"> |
| 116 | + <strong>Stage 17: Automated Testing (Unitigration Tests)</strong> |
| 117 | + <p>Learn about the Unitigration Test approach that combines the benefits of Unit Tests and Integration Tests, UI tests with real server behavior, and flexible test architecture.</p> |
| 118 | + </div> |
| 119 | + |
| 120 | + <div id="prompts" style="margin-top: 1rem;"> |
| 121 | + <strong>Stage 18: Other Available Prompt Templates</strong> |
| 122 | + <p>Discover additional specialized prompt templates available in the .github/prompts/ directory for specific development tasks and scenarios.</p> |
| 123 | + </div> |
| 124 | + |
| 125 | + <div id="misc-files" style="margin-top: 1rem;"> |
| 126 | + <strong>Stage 19: Project Miscellaneous Files</strong> |
| 127 | + <p>Review important configuration files: Clean scripts, global.json, vs-spell.dic, settings.VisualStudio.json, mcp.json, Directory.Build.props, Directory.Packages.props, and .vsconfig.</p> |
| 128 | + </div> |
| 129 | + |
| 130 | + <div id="aspire" style="margin-top: 1rem;"> |
| 131 | + <strong>Stage 20: .NET Aspire</strong> |
| 132 | + <p>Understand .NET Aspire benefits for development (dashboard monitoring) and deployment (Azure, Docker Compose, Kubernetes). Learn database persistence configuration and Linux testing with Dev Containers.</p> |
| 133 | + </div> |
| 134 | + |
| 135 | + <div id="maui-hybrid" style="margin-top: 1rem;"> |
| 136 | + <strong>Stage 21: .NET MAUI / Blazor Hybrid</strong> |
| 137 | + <p>Explore native platform capabilities on Android, iOS, macOS, and Windows. Learn about Deep Links/Universal Links, `ApplicationVersion` for app stores, Windows project advantages, and WebView considerations.</p> |
| 138 | + </div> |
| 139 | + |
| 140 | + <div id="messaging" style="margin-top: 1rem;"> |
| 141 | + <strong>Stage 22: Messaging</strong> |
| 142 | + <p>Master in-app messaging with `PubSubService`, JavaScript-to-C# communication with `AppJsBridge`, real-time server-to-client messaging with SignalR, and push notifications with deep linking.</p> |
| 143 | + </div> |
| 144 | + |
| 145 | + <div id="diagnostic" style="margin-top: 1rem;"> |
| 146 | + <strong>Stage 23: Diagnostic Modal</strong> |
| 147 | + <p>Explore the powerful in-app diagnostic tools, including browser DevTools that work on mobile devices and real-time log viewing capabilities.</p> |
| 148 | + </div> |
| 149 | + |
| 150 | + <div id="webauthn" style="margin-top: 1rem;"> |
| 151 | + <strong>Stage 24: WebAuthn and Passwordless Authentication (Advanced)</strong> |
| 152 | + <p>Learn about biometric authentication (fingerprint, Face ID, PIN) that's more secure than native implementations, cross-platform support.</p> |
| 153 | + </div> |
| 154 | + |
| 155 | + <div id="vector-embeddings" style="margin-top: 1rem;"> |
| 156 | + <strong>Stage 25: RAG / Semantic Search with Vector Embeddings (Advanced)</strong> |
| 157 | + <p>Understand vector embeddings for semantic search, cross-language search capabilities, embedding models (OpenAI, Azure, Hugging Face), and how to implement RAG (Retrieval-Augmented Generation) patterns.</p> |
| 158 | + </div> |
| 159 | + |
| 160 | + <br /> |
| 161 | + |
| 162 | + <strong style="font-size: 1.1rem;">Ready to Start Your Interactive Learning Journey?</strong> |
| 163 | + <p> |
| 164 | + You can specify which stage you want to start with (e.g., "Stage 5") and your preferred language |
| 165 | + (e.g., English, Persian, Français or any other language). |
| 166 | + </p> |
22 | 167 | </section> |
23 | 168 |
|
24 | 169 | <section class="section-card" id="ai-powered-wiki"> |
|
0 commit comments