diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 6434679793..caabea99cb 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -2,8 +2,11 @@ "items": [ { "text": "Get started", - "path": "get-started", "items": [ + { + "text": "Overview", + "path": "get-started/index.md" + }, { "text": "Single-layer solution", "path": "get-started/single-layer-web-application.md" @@ -42,10 +45,17 @@ { "text": "Tutorials", "items": [ + { + "text": "Overview", + "path": "tutorials/overview.md" + }, { "text": "TODO application", - "path": "tutorials/todo", "items": [ + { + "text": "Overview", + "path": "tutorials/todo/index.md" + }, { "text": "Single-layer solution", "path": "tutorials/todo/single-layer" @@ -114,10 +124,17 @@ { "text": "Tools", "items": [ + { + "text": "Overview", + "path": "tools.md" + }, { "text": "ABP CLI", - "path": "cli", "items": [ + { + "text": "Overview", + "path": "cli/index.md" + }, { "text": "Examples for the new command", "path": "cli/new-command-samples.md" @@ -126,19 +143,22 @@ }, { "text": "ABP Studio", - "path": "studio", "items": [ { - "text": "Installation", - "path": "studio/installation.md" + "text": "Overview", + "path": "studio/index.md" }, { - "text": "Overview", - "path": "studio/overview.md" + "text": "Installation", + "path": "studio/installation.md" }, { "text": "Fundamentals", "items": [ + { + "text": "Overview", + "path": "studio/overview.md" + }, { "text": "Solution Explorer", "path": "studio/solution-explorer.md" @@ -171,7 +191,7 @@ "text": "ABP Suite", "items": [ { - "text": "Overall", + "text": "Overview", "path": "suite" }, { @@ -192,8 +212,11 @@ }, { "text": "Generating CRUD Page", - "path": "suite/generating-crud-page.md", "items": [ + { + "text": "Overview", + "path": "suite/generating-crud-page.md" + }, { "text": "Creating Many-To-Many Relationship", "path": "suite/creating-many-to-many-relationship.md" @@ -242,14 +265,21 @@ { "text": "Fundamentals", "items": [ + { + "text": "Overview", + "path": "framework/fundamentals/overview.md" + }, { "text": "Application Startup", "path": "framework/fundamentals/application-startup.md" }, { "text": "Authorization", - "path": "framework/fundamentals/authorization.md", "items": [ + { + "text": "Overview", + "path": "framework/fundamentals/authorization.md" + }, { "text": "Dynamic Claims", "path": "framework/fundamentals/dynamic-claims.md" @@ -258,8 +288,11 @@ }, { "text": "Caching", - "path": "framework/fundamentals/caching.md", "items": [ + { + "text": "Overview", + "path": "framework/fundamentals/caching.md" + }, { "text": "Redis Cache", "path": "framework/fundamentals/redis-cache.md" @@ -276,8 +309,11 @@ }, { "text": "Dependency Injection", - "path": "framework/fundamentals/dependency-injection.md", "items": [ + { + "text": "Overview", + "path": "framework/fundamentals/dependency-injection.md" + }, { "text": "AutoFac Integration", "path": "framework/fundamentals/autofac-integration.md" @@ -306,8 +342,11 @@ }, { "text": "Validation", - "path": "framework/fundamentals/validation.md", "items": [ + { + "text": "Overview", + "path": "framework/fundamentals/validation.md" + }, { "text": "FluentValidation Integration", "path": "framework/fundamentals/fluent-validation.md" @@ -319,14 +358,21 @@ { "text": "Infrastructure", "items": [ + { + "text": "Overview", + "path": "framework/infrastructure/overview.md" + }, { "text": "Audit Logging", "path": "framework/infrastructure/audit-logging.md" }, { "text": "Background Jobs", - "path": "framework/infrastructure/background-jobs", "items": [ + { + "text": "Overview", + "path": "framework/infrastructure/background-jobs" + }, { "text": "Hangfire Integration", "path": "framework/infrastructure/background-jobs/hangfire.md" @@ -343,8 +389,11 @@ }, { "text": "Background Workers", - "path": "framework/infrastructure/background-workers", "items": [ + { + "text": "Overview", + "path": "framework/infrastructure/background-workers" + }, { "text": "Quartz Integration", "path": "framework/infrastructure/background-workers/quartz.md" @@ -359,7 +408,7 @@ "text": "BLOB Storing", "items": [ { - "text": "BLOB Storing System", + "text": "Overview", "path": "framework/infrastructure/blob-storing" }, { @@ -429,7 +478,7 @@ "text": "Email Sending", "items": [ { - "text": "Email Sending System", + "text": "Overview", "path": "framework/infrastructure/emailing.md" }, { @@ -446,7 +495,7 @@ "text": "Event Bus", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/infrastructure/event-bus" }, { @@ -455,8 +504,11 @@ }, { "text": "Distributed Event Bus", - "path": "framework/infrastructure/event-bus/distributed", "items": [ + { + "text": "Overview", + "path": "framework/infrastructure/event-bus/distributed" + }, { "text": "Azure Service Bus Integration", "path": "framework/infrastructure/event-bus/distributed/azure.md" @@ -519,8 +571,11 @@ }, { "text": "Text Templating", - "path": "framework/infrastructure/text-templating", "items": [ + { + "text": "Overview", + "path": "framework/infrastructure/text-templating" + }, { "text": "Razor Integration", "path": "framework/infrastructure/text-templating/razor.md" @@ -543,13 +598,16 @@ }, { "text": "Architecture", - "path": "framework/architecture", "items": [ + { + "text": "Overview", + "path": "framework/architecture" + }, { "text": "Best Practices", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/architecture/best-practices" }, { @@ -559,6 +617,10 @@ { "text": "Domain Layer", "items": [ + { + "text": "Overview", + "path": "framework/architecture/best-practices/domain-layer-overview.md" + }, { "text": "Entities", "path": "framework/architecture/best-practices/entities.md" @@ -576,6 +638,10 @@ { "text": "Application Layer", "items": [ + { + "text": "Overview", + "path": "framework/architecture/best-practices/application-layer-overview.md" + }, { "text": "Application Services", "path": "framework/architecture/best-practices/application-services.md" @@ -589,6 +655,10 @@ { "text": "Data Access", "items": [ + { + "text": "Overview", + "path": "framework/architecture/best-practices/data-access-overview.md" + }, { "text": "Entity Framework Core Integration", "path": "framework/architecture/best-practices/entity-framework-core-integration.md" @@ -605,7 +675,7 @@ "text": "Modularity", "items": [ { - "text": "Basics", + "text": "Overview", "path": "framework/architecture/modularity/basics.md" }, { @@ -616,7 +686,7 @@ "text": "Customizing/Extending Modules", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/architecture/modularity/extending/customizing-application-modules-guide.md" }, { @@ -639,12 +709,16 @@ "text": "Domain Driven Design", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/architecture/domain-driven-design" }, { "text": "Domain Layer", "items": [ + { + "text": "Overview", + "path": "framework/architecture/domain-driven-design/domain-layer.md" + }, { "text": "Entities & Aggregate Roots", "path": "framework/architecture/domain-driven-design/entities.md" @@ -670,6 +744,10 @@ { "text": "Application Layer", "items": [ + { + "text": "Overview", + "path": "framework/architecture/domain-driven-design/application-layer.md" + }, { "text": "Application Services", "path": "framework/architecture/domain-driven-design/application-services.md" @@ -703,9 +781,17 @@ { "text": "API Development", "items": [ + { + "text": "Overview", + "path": "framework/api-development/overview.md" + }, { "text": "ABP Endpoints", "items": [ + { + "text": "Overview", + "path": "framework/api-development/standard-apis/overview.md" + }, { "text": "Application Configuration", "path": "framework/api-development/standard-apis/configuration.md" @@ -745,11 +831,15 @@ { "text": "User Interface", "items": [ + { + "text": "Overview", + "path": "framework/ui/overview.md" + }, { "text": "MVC / Razor Pages", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/mvc-razor-pages/overall.md" }, { @@ -794,8 +884,11 @@ }, { "text": "Tag Helpers", - "path": "framework/ui/mvc-razor-pages/tag-helpers", "items": [ + { + "text": "Overview", + "path": "framework/ui/mvc-razor-pages/tag-helpers" + }, { "text": "Form Elements", "path": "framework/ui/mvc-razor-pages/tag-helpers/form-elements.md" @@ -832,8 +925,11 @@ }, { "text": "Theming", - "path": "framework/ui/mvc-razor-pages/theming.md", "items": [ + { + "text": "Overview", + "path": "framework/ui/mvc-razor-pages/theming.md" + }, { "text": "The Basic Theme", "path": "framework/ui/mvc-razor-pages/basic-theme.md" @@ -848,7 +944,7 @@ "text": "JavaScript API", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/mvc-razor-pages/javascript-api" }, { @@ -909,7 +1005,7 @@ "text": "Customize/Extend the UI", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/mvc-razor-pages/customization-user-interface.md" }, { @@ -941,7 +1037,7 @@ "text": "Blazor", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/blazor/overall.md" }, { @@ -960,7 +1056,7 @@ "text": "Theming", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/blazor/theming.md" }, { @@ -1272,7 +1368,7 @@ "text": "Theming", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/angular/theming.md" }, { @@ -1305,7 +1401,7 @@ "text": "Extensions", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/angular/extensions-overall.md" }, { @@ -1355,7 +1451,7 @@ "text": "React Native", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/react-native" } ] @@ -1364,7 +1460,7 @@ "text": "MAUI", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/ui/maui" } ] @@ -1393,13 +1489,16 @@ "text": "Data Access", "items": [ { - "text": "Overall", + "text": "Overview", "path": "framework/data" }, { "text": "Entity Framework Core", - "path": "framework/data/entity-framework-core", "items": [ + { + "text": "Overview", + "path": "framework/data/entity-framework-core" + }, { "text": "Database Migrations", "path": "framework/data/entity-framework-core/migrations.md" @@ -1467,7 +1566,7 @@ "text": "Solution Templates", "items": [ { - "text": "Overall", + "text": "Overview", "path": "solution-templates" }, { @@ -1492,7 +1591,7 @@ "text": "Application Modules", "items": [ { - "text": "Overall", + "text": "Overview", "path": "modules" }, { @@ -1557,8 +1656,11 @@ }, { "text": "IdentityServer", - "path": "modules/identity-server.md", "items": [ + { + "text": "Overview", + "path": "modules/identity-server.md" + }, { "text": "IdentityServer Migration Guide", "path": "release-info/migration-guides/identityserver4-step-by-step.md" @@ -1575,8 +1677,11 @@ }, { "text": "OpenIddict", - "path": "modules/openiddict.md", "items": [ + { + "text": "Overview", + "path": "modules/openiddict.md" + }, { "text": "OpenIddict Migration Guide", "path": "release-info/migration-guides/openiddict-step-by-step.md" @@ -1633,6 +1738,10 @@ { "text": "UI Themes", "items": [ + { + "text": "Overview", + "path": "ui-themes/index.md" + }, { "text": "The Basic Theme", "path": "framework/ui/mvc-razor-pages/basic-theme.md" @@ -1647,7 +1756,7 @@ "text": "Testing", "items": [ { - "text": "Overall", + "text": "Overview", "path": "testing/overall.md" }, { @@ -1666,8 +1775,11 @@ }, { "text": "Deployment", - "path": "deployment", "items": [ + { + "text": "Overview", + "path": "deployment" + }, { "text": "Configuring SSL certificate(HTTPS)", "path": "deployment/ssl.md" @@ -1718,6 +1830,10 @@ { "text": "Books", "items": [ + { + "text": "Overview", + "path": "https://abp.io/books" + }, { "text": "Mastering ABP Framework", "path": "https://abp.io/books/mastering-abp-framework" @@ -1731,6 +1847,10 @@ { "text": "Release Information", "items": [ + { + "text": "Overview", + "path": "release-info/overview.md" + }, { "text": "Release Notes", "path": "release-info/release-notes.md" diff --git a/docs/en/framework/api-development/overview.md b/docs/en/framework/api-development/overview.md new file mode 100644 index 0000000000..9d7e215896 --- /dev/null +++ b/docs/en/framework/api-development/overview.md @@ -0,0 +1,11 @@ +## API Development: Overview + +ABP provides a set of features and integrations to third-party libraries to easily develop APIs. Here, is the list of documents that you can refer to while developing APIs: + +* [ABP Endpoints](./standard-apis/overview.md) +* [API Versioning](./versioning.md) +* [Auto API Controllers](./auto-controllers.md) +* [Dynamic C# API Clients](./dynamic-csharp-clients.md) +* [Integration Services](./integration-services.md) +* [Static C# API Clients](./static-csharp-clients.md) +* [Swagger Integration](./swagger.md) \ No newline at end of file diff --git a/docs/en/framework/api-development/standard-apis/overview.md b/docs/en/framework/api-development/standard-apis/overview.md new file mode 100644 index 0000000000..7dc0666bdd --- /dev/null +++ b/docs/en/framework/api-development/standard-apis/overview.md @@ -0,0 +1,6 @@ +## ABP Endpoints + +ABP provides pre-built and standart endpoints that contains some useful information about the application/service, such as localization entries and settings. Here, is the list of some pre-built endpoints: + +* [Application Configuration](./configuration.md) +* [Application Localization](./localization.md) \ No newline at end of file diff --git a/docs/en/framework/architecture/best-practices/application-layer-overview.md b/docs/en/framework/architecture/best-practices/application-layer-overview.md new file mode 100644 index 0000000000..b7650d6699 --- /dev/null +++ b/docs/en/framework/architecture/best-practices/application-layer-overview.md @@ -0,0 +1,6 @@ +## Best Practices: Application Layer + +ABP suggests some best-practices that you can use while implementing the Application Layer by following Domain Driven Design principles: + +* [Application Services](./application-services.md) +* [Data Transfer Objects](./data-transfer-objects.md) \ No newline at end of file diff --git a/docs/en/framework/architecture/best-practices/data-access-overview.md b/docs/en/framework/architecture/best-practices/data-access-overview.md new file mode 100644 index 0000000000..3c0aa1a9c7 --- /dev/null +++ b/docs/en/framework/architecture/best-practices/data-access-overview.md @@ -0,0 +1,6 @@ +## Best Practices: Data Access + +ABP suggests some best-practices that you can use while implementing the Infrastructure Layer (integrations) by following Domain Driven Design principles: + +* [Entity Framework Core](./entity-framework-core-integration.md) +* [MongoDB](./mongodb-integration.md) \ No newline at end of file diff --git a/docs/en/framework/architecture/best-practices/domain-layer-overview.md b/docs/en/framework/architecture/best-practices/domain-layer-overview.md new file mode 100644 index 0000000000..995d545cb5 --- /dev/null +++ b/docs/en/framework/architecture/best-practices/domain-layer-overview.md @@ -0,0 +1,7 @@ +## Best Practices: Domain Layer + +ABP suggests some best-practices that you can use while implementing the Domain Layer by following Domain Driven Design principles: + +* [Entities](./entities.md) +* [Repositories](./repositories.md) +* [Domain Services](./domain-services.md) \ No newline at end of file diff --git a/docs/en/framework/architecture/domain-driven-design/application-layer.md b/docs/en/framework/architecture/domain-driven-design/application-layer.md new file mode 100644 index 0000000000..03b83fb038 --- /dev/null +++ b/docs/en/framework/architecture/domain-driven-design/application-layer.md @@ -0,0 +1,7 @@ +## Domain Driven Design: Application Layer + +Application Layer mediates between the Presentation and Domain Layers. Orchestrates business objects to perform specific application tasks and implements use cases as the application logic. Here, is the list of the building blocks of the Application Layer: + +* [Application Services](./application-services.md) +* [Data Transfer Objects](./data-transfer-objects.md) +* [Unit of Work](./unit-of-work.md) \ No newline at end of file diff --git a/docs/en/framework/architecture/domain-driven-design/domain-layer.md b/docs/en/framework/architecture/domain-driven-design/domain-layer.md new file mode 100644 index 0000000000..9ce7519810 --- /dev/null +++ b/docs/en/framework/architecture/domain-driven-design/domain-layer.md @@ -0,0 +1,9 @@ +## Domain Driven Design: Domain Layer + +Domain Layer contains business objects and the core (domain) business rules of the application and it's the heart of the application. Here, is the list of building blocks of the Domain Layer: + +* [Entities & Aggregate Roots](./entities.md) +* [Value Objects](./value-objects.md) +* [Repositories](./repositories.md) +* [Domain Services](./domain-services.md) +* [Specifications](./specifications.md) \ No newline at end of file diff --git a/docs/en/framework/fundamentals/overview.md b/docs/en/framework/fundamentals/overview.md new file mode 100644 index 0000000000..b09e8c5d5a --- /dev/null +++ b/docs/en/framework/fundamentals/overview.md @@ -0,0 +1,16 @@ +## ABP Fundamentals: Overview + +ABP provides fundamental documents that explain to you the core building-blocks of ABP & .NET applications. Here, is the full list of the fundamental documents: + +* [Application Startup](./application-startup.md) +* [Authorization](./authorization.md) +* [Caching](./caching.md) +* [Configuration](./configuration.md) +* [Connection Strings](./connection-strings.md) +* [Dependency Injection](./dependency-injection.md) +* [Exception Handling](./exception-handling.md) +* [Localization](./localization.md) +* [Logging](./logging.md) +* [Object Extensions](./object-extensions.md) +* [Options](./options.md) +* [Validation](./validation.md) \ No newline at end of file diff --git a/docs/en/framework/infrastructure/overview.md b/docs/en/framework/infrastructure/overview.md new file mode 100644 index 0000000000..df52f222db --- /dev/null +++ b/docs/en/framework/infrastructure/overview.md @@ -0,0 +1,31 @@ +## ABP Infrastructure: Overview + +ABP provides a complete infrastructure for creating software solutions with modern architectures based on .NET platform: + +* [Audit Logging](./audit-logging.md) +* [Background Jobs](./background-jobs/index.md) +* [Background Workers](./background-workers/index.md) +* [BLOB Storing](./blob-storing/index.md) +* [Cancellation Token Provider](./cancellation-token-provider.md) +* [CSRF/XSRF & Anti Forgery](./csrf-anti-forgery.md) +* [Concurrency Check](./concurrency-check.md) +* [Current User](./current-user.md) +* [Data Filtering](./data-filtering.md) +* [Data Seeding](./data-seeding.md) +* [Distributing Locking](./distributed-locking.md) +* [Email Sending](./emailing.md) +* [Entity Cache](./entity-cache.md) +* [Event Bus](./event-bus/index.md) +* [Features](./features.md) +* [Global Features](./global-features.md) +* [GUID Generation](./guid-generation.md) +* [Image Manipulation](./image-manipulation.md) +* [JSON](./json.md) +* [Object to Object Mapping](./object-to-object-mapping.md) +* [Settings](./settings.md) +* [Simple State Checker](./simple-state-checker.md) +* [SMS Sending](./sms-sending.md) +* [String Encryption](./string-encryption.md) +* [Text Templating](./text-templating/index.md) +* [Timing](./timing.md) +* [Virtual File System](./virtual-file-system.md) \ No newline at end of file diff --git a/docs/en/framework/ui/overview.md b/docs/en/framework/ui/overview.md new file mode 100644 index 0000000000..8ae4cd5b0e --- /dev/null +++ b/docs/en/framework/ui/overview.md @@ -0,0 +1,9 @@ +## ABP: UI Options + +ABP provides several options for building the user interface (UI) in your applications. Here are some of the officially supported UI options you can use with ABP: + +* [MVC / Razor Pages](./mvc-razor-pages/overall.md) +* [Blazor](./blazor/overall.md) +* [Angular](./angular/quick-start.md) +* [React Native](./react-native/index.md) +* [MAUI](./maui/index.md) \ No newline at end of file diff --git a/docs/en/release-info/overview.md b/docs/en/release-info/overview.md new file mode 100644 index 0000000000..3a2d4704d6 --- /dev/null +++ b/docs/en/release-info/overview.md @@ -0,0 +1,9 @@ +## Release Information: Overview + +* [Release Notes](./release-notes.md) +* [Migration Guides](./migration-guides/index.md) +* [Road Map](./road-map.md) +* [Upgrading](./upgrading.md) +* [Preview Releases](./previews.md) +* [Nightly Releases](./nightly-builds.md) +* [Official Packages](https://abp.io/packages) \ No newline at end of file diff --git a/docs/en/tools.md b/docs/en/tools.md new file mode 100644 index 0000000000..aa7d048d95 --- /dev/null +++ b/docs/en/tools.md @@ -0,0 +1,7 @@ +## Tools + +ABP provides a comprehensive set of tools designed to enhance the development experience and improve productivity: + +* [ABP CLI](./cli/index.md): Command line tool to perform some common operations for ABP based solutions. +* [ABP Suite](./suite/index.md): A complementary tool that allows you to build web pages in a matter of minutes. +* [ABP Studio](./studio/index.md): **Cross-platform** desktop application for ABP and .NET developers. Aims to provide a comfortable development environment for you by automating things, providing insights about your solution, making develop, run, browse, monitor, trace and deploy your solutions much easier. \ No newline at end of file diff --git a/docs/en/tutorials/overview.md b/docs/en/tutorials/overview.md new file mode 100644 index 0000000000..357649f5b3 --- /dev/null +++ b/docs/en/tutorials/overview.md @@ -0,0 +1,6 @@ +## ABP Tutorials: Overview + +This document provides an overview of essential tutorials that will help you get started with ABP platform: + +* [TODO Application](todo/index.md): This is a single-part, quick-start tutorial to build a simple application with ABP. Start with this tutorial if you want to quickly understand how ABP works. +* [Book Store Application](book-store/overview.md): This is a multi-part, complete tutorial to build a bookstore application with ABP. Start with this tutorial if you want to create a layered solution with ABP and apply DDD best practices. \ No newline at end of file