diff --git a/docs/custom-code/index.md b/docs/custom-code/index.md
index 6ac6435f..d3a418d8 100644
--- a/docs/custom-code/index.md
+++ b/docs/custom-code/index.md
@@ -4,7 +4,7 @@ title: Customize Your Application
# Customize Your Application
-Amplication enables you to generate code, manage custom files, and seed databases. We'll give you a brief overview what what Amplication can do in this area.
+Amplication enables you to generate code, manage custom files, and seed databases. We'll give you a brief overview of what Amplication can do in this area.
## Custom Code with Amplication
diff --git a/docs/dictionary/en-custom.txt b/docs/dictionary/en-custom.txt
index abb665e6..fbe39e5e 100644
--- a/docs/dictionary/en-custom.txt
+++ b/docs/dictionary/en-custom.txt
@@ -103,4 +103,7 @@ appsettings
Codespaces
Keycloak
thirdparty
-emailpassword
\ No newline at end of file
+emailpassword
+placeholder
+Quickstart
+autoupdating
\ No newline at end of file
diff --git a/docs/faqs/faqs.md b/docs/faqs/faqs.md
index 4c391816..908e7c16 100644
--- a/docs/faqs/faqs.md
+++ b/docs/faqs/faqs.md
@@ -12,7 +12,7 @@ Here are some questions that we are asked about frequently about using Amplicati
### What is Amplication?
-Amplication is an open-source AI-powered code generation platform that helps developers build and manage backend services without spending time on repetitive coding tasks and boilerplate code. Amplication auto-generates a fully functional, production-ready backend based on Node.js and .NET.
+Amplication is an open-source AI-powered code generation platform that helps developers build and manage backend services without spending time on repetitive coding tasks and boilerplate code. Our platform generates fully functional, production-ready backend services that follow modern best practices.
### How does Amplication work?
@@ -57,7 +57,7 @@ Amplication offers a structured way to [add custom code](https://docs.amplicatio
We also provide various [plugins](https://docs.amplication.com/getting-started/plugins/), like Prettier and ESLint, so you can format your code exactly how you need it.
-Furthermore, you can create [private plugins](https://docs.amplication.com/enterprise-private-plugins/) that are accessible only within your organization.
+Furthermore, you can create [private plugins](/private-plugins/) that are accessible only within your organization.
## Version Control and Collaboration
diff --git a/docs/getting-started-v2/example-services.md b/docs/getting-started-v2/example-services.md
new file mode 100644
index 00000000..679fb86b
--- /dev/null
+++ b/docs/getting-started-v2/example-services.md
@@ -0,0 +1,3 @@
+---
+sidebar_label: Example Services
+---
\ No newline at end of file
diff --git a/docs/getting-started-v2/intro-to-amplication.md b/docs/getting-started-v2/intro-to-amplication.md
new file mode 100644
index 00000000..67e3f620
--- /dev/null
+++ b/docs/getting-started-v2/intro-to-amplication.md
@@ -0,0 +1,3 @@
+---
+sidebar_label: Intro to Amplication
+---
\ No newline at end of file
diff --git a/docs/getting-started-v2/quickstart.md b/docs/getting-started-v2/quickstart.md
new file mode 100644
index 00000000..d67c1dcf
--- /dev/null
+++ b/docs/getting-started-v2/quickstart.md
@@ -0,0 +1,3 @@
+---
+sidebar_label: Quickstart
+---
\ No newline at end of file
diff --git a/docs/getting-started/first-service.md b/docs/getting-started/first-service.md
index 06dcf0b1..804ae76c 100644
--- a/docs/getting-started/first-service.md
+++ b/docs/getting-started/first-service.md
@@ -6,18 +6,16 @@ sidebar_label: Create Your First Service
slug: /first-service
---
-# Create Your First Service With Amplication
+# Create Your First Service
-Amplication accelerates your app development by helping you build production-ready backends in either Node.js or .NET. These automatically-generated backends, known as **services**, utilize modern frameworks such as NestJS and Prisma for Node.js, and ASP.NET Core alongside Entity Framework Core for .NET.
+Amplication accelerates your app development by helping you build production-ready backend services. These automatically-generated backends, known as **services**, provide modern, secure, and scalable foundations for your apps.
-Each service includes both REST and GraphQL APIs and comes with an interactive React Admin UI. These services offer a comprehensive solution that encompasses authentication, authorization, logging, git synchronization, and other critical backend management functionalities.
+Each service includes REST and GraphQL API support and an optional admin interface. Your service comes fully equipped with authentication, authorization, logging, git synchronization, and other critical backend management functionalities.
-This guide will help you create your first service using our streamlined service creation onboarding wizard.
+This guide will help you create your first service using our creation wizard.
-:::tip
-[Amplication's AI](/amplication-ai) can help you build your first service with a single request in a few seconds.
-
-Ask Jovu: `Can you create a new blog service with entities for posts, categories, authors, and comments?`
+:::info Generated Service Example
+Want to see an example of what a generated service looks like? Check out the [Generated Service Sample App](https://github.com/amplication/sample-app) on GitHub.
:::
## Prerequisites
@@ -26,12 +24,32 @@ First, [sign up](https://app.amplication.com/login) for an Amplication account w
![](./assets/first-service/amplication-home-page.png)
-If this is your first time using Amplication, the Service Creation Wizard start automatically will guide you through the process.
+If this is your first time using Amplication, the Service Creation Wizard will automatically guide you through the process.
## Step 1: Name Your Service
When naming your service, consider its primary function. What will it do? What problem is it solving? An appropriately named service will be easier to identify and maintain.
+
+Available Technology Stacks
+
+Amplication supports two technology stacks for your backend services:
+
+**Node.js**
+- NestJS framework
+- Prisma ORM
+- GraphQL and REST APIs
+- React Admin UI
+
+**.NET**
+
+- ASP.NET Core
+- Entity Framework Core
+- REST APIs
+
+Choose the stack that best fits your team's expertise and project requirements during service creation.
+
+
![](./assets/first-service/service-name.png)
## Step 2: Connect Your GitHub Repository
@@ -47,7 +65,7 @@ You can also create a new repository by clicking on the **Create repository** bu
![](./assets/first-service/select-repository.png)
-:::note
+:::note Other Supported Git Providers
In addition to GitHub, Amplication also supports [Bitbucket](/sync-with-bitbucket) and [AWS CodeCommit](/sync-with-aws-codecommit) for Enterprise users.
:::
@@ -87,16 +105,16 @@ Monorepo is recommended if you plan on having multiple services in a single GitH
Amplication supports PostgreSQL, MongoDB, and MySQL out of the box. Choose the one that suits your needs.
:::tip
-You're not locked into your choice - you can always change your database type later in your project's plugin page.
+You're not locked into your choice - you can always [change your database type later](/plugins/guides/database/) in your project's plugin page.
:::
![](./assets/first-service/database.png)
## Step 6: Define Your Data Model
-Define entities and fields for your database. You can manually define your own or use a template provided by Amplication.
+Define entities and fields for your database. You can manually define your own or use a set of pre-defined entities provided by Amplication.
-:::info
+:::info What Are Entities?
Entities are the objects you want to keep track of in your app, like a User or a Product. They become tables in your database. Each row represents an instance of the entity.
A field is a column in that table that represents an attribute of that entity.
@@ -118,12 +136,6 @@ Congratulations! You've successfully set up your first service on Amplication. Y
Clicking on the `View my code` button will take you to the GitHub repository you chose in Step 2. Specifically, you'll see Amplication's first commit to that repository.
-:::note
-If you're curious about what the generated code for a service looks like, we have an example on GitHub for you. Check out the following repository:
-
-[Amplication Generated Service Sample App](https://github.com/amplication/sample-app)
-:::
-
![](./assets/first-service/service-created-successfully.png)
## Next Steps
diff --git a/docs/getting-started/generated-app.md b/docs/getting-started/generated-app.md
index aee59946..809eed70 100644
--- a/docs/getting-started/generated-app.md
+++ b/docs/getting-started/generated-app.md
@@ -11,20 +11,22 @@ When you use Amplication to create your backend service, we automatically genera
Some of the key features of our generated backend services include:
-- **Extensive Functionality**: The generated services provide a wide range of features, including authentication, authorization, data validation, logging, a database, and a REST API. For Node.js services, they also offer GraphQL APIs for efficient data communication and a React-based admin UI.
-- **Clean Architecture**: Both Node.js and .NET services are structured following the clean architecture principles, ensuring that the business logic is decoupled from the infrastructure and UI layers. This makes the code easier to maintain and test.
-- **Ready for Production**: The generated services are optimized for [deployment](/deploy/), include Docker configurations and CI/CD pipelines, making it straightforward to move from development to production.
-- **Customizable and Extendable**: While the service provides a solid foundation, it is fully customizable. Developers can extend the generated code with custom features and integrate additional services as needed.
-
-:::note
-You can see an example of a Node.js service generated with Amplication in this [GitHub repository](https://github.com/amplication/sample-app).
+- **Comprehensive APIs**: Every service includes REST APIs with built-in validation, documentation, and testing capabilities. Optional GraphQL support is available for enhanced data querying.
+- **Authentication & Authorization**: Built-in user management, role-based access control, and security best practices.
+- **Database Integration**: Robust database connectivity with your choice of modern ORMs and data validation.
+- **Developer Experience**: Generated services include logging, testing frameworks, and development tools configured according to industry standards.
+- **Production-ready**: Includes Docker configurations and CI/CD pipelines for straightforward deployment to your preferred platform.
+- **Extensible Architecture**: Clean, modular architecture that separates business logic from infrastructure concerns, making the code easy to maintain and customize.
+
+:::info Generated Service Example
+See an example of a generated service in our [sample application repository](https://github.com/amplication/sample-app).
:::
## Technologies
The generated services utilize a suite of proven, robust technologies tailored for each supported technology.
-Below are the technologies employed for Node.js and .NET, ensuring efficient, reliable, and scalable server-side applications.
+Below are the technologies used for Amplication's supported tech stacks, ensuring efficient, reliable, and scalable server-side apps.
### Server-side
diff --git a/docs/getting-started/plugins.md b/docs/getting-started/plugins.md
index 0c98e433..a5831370 100644
--- a/docs/getting-started/plugins.md
+++ b/docs/getting-started/plugins.md
@@ -22,11 +22,11 @@ If you choose to turn on authentication for your service, that will enable Authe
Ask Jovu: `Which plugins do you recommend for adding caching capabilities to my Amplication service?`
:::
-## Node.js and .NET Plugins
+## Available Plugins
Amplication supports both Node.js and .NET for code generation. Plugins are technology-specific.
-When you switch between Node.js and .NET, you'll see a different set of available plugins, each optimized for the chosen stack.
+Node.js and .NET services will see a different set of available plugins, each optimized for the chosen stack.
Node.js plugins integrate seamlessly with the Node.js ecosystem and popular frameworks like NestJS. .NET plugins are designed to work with .NET Core and leverage the power of the .NET ecosystem.
diff --git a/docs/getting-started/service-entities-roles-permissions.md b/docs/getting-started/service-entities-roles-permissions.md
index 73df10f2..97922861 100644
--- a/docs/getting-started/service-entities-roles-permissions.md
+++ b/docs/getting-started/service-entities-roles-permissions.md
@@ -30,9 +30,9 @@ The _Entities_ page opens. Here you see all the entities in your application.
![](./assets/first-app/entities.png)
:::info
-When you initially established your service using the service creation wizard, you had the choice to [incorporate entities into your data model](/first-service/#step-6-define-your-data-model) from an Amplication template, or leave it empty.
+When you initially established your service using the service creation wizard, you had the choice to [incorporate entities into your service](/first-service/#step-6-define-your-data-model) from a set of pre-defined entities, or leave it empty.
-If you opted not to use a template, you'll find your Entities screen with only one entity, **User**. This entity auto-generated when you created the new service.
+If you opted not to use the pre-defined entities, you'll find your Entities screen with only one entity, **User**. This entity auto-generated when you created the new service.
:::
In this example, we'll now add another entity called _Project_.
diff --git a/docs/getting-started/set-up-entities.md b/docs/getting-started/set-up-entities.md
index ce6d9d41..d103b81a 100644
--- a/docs/getting-started/set-up-entities.md
+++ b/docs/getting-started/set-up-entities.md
@@ -34,9 +34,9 @@ The _Entities_ page opens. Here you see all the entities in your application.
![](./assets/first-app/entities.png)
:::info
-When you initially established your service using the service creation wizard, you had the choice to [incorporate entities into your data model](/first-service/#step-6-define-your-data-model) from an Amplication template, or leave it empty.
+When you initially established your service using the service creation wizard, you had the choice to [incorporate entities into your service](/first-service/#step-6-define-your-data-model) from a set of pre-defined entities, or leave it empty.
-If you opted not to use a template, you'll find your Entities screen with only one entity, **User**. This entity auto-generated when you created the new service.
+If you opted not to use the pre-defined entities, you'll find your Entities screen with only one entity, **User**. This entity auto-generated when you created the new service.
:::
In this example, we'll now add another entity called _Project_.
diff --git a/docs/how-to/add-custom-commits.md b/docs/how-to/add-custom-commits.md
new file mode 100644
index 00000000..e69de29b
diff --git a/docs/how-to/assets/amplication-platform-console.png b/docs/how-to/assets/amplication-platform-console.png
index 2f01fbf1..49acdae4 100644
Binary files a/docs/how-to/assets/amplication-platform-console.png and b/docs/how-to/assets/amplication-platform-console.png differ
diff --git a/docs/how-to/assets/live-service-templates/apis.png b/docs/how-to/assets/live-service-templates/apis.png
new file mode 100644
index 00000000..6352fa4e
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/apis.png differ
diff --git a/docs/how-to/assets/live-service-templates/complete.png b/docs/how-to/assets/live-service-templates/complete.png
new file mode 100644
index 00000000..5de59a7d
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/complete.png differ
diff --git a/docs/how-to/assets/live-service-templates/database.png b/docs/how-to/assets/live-service-templates/database.png
new file mode 100644
index 00000000..b5cc1474
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/database.png differ
diff --git a/docs/how-to/assets/live-service-templates/name-and-stack.png b/docs/how-to/assets/live-service-templates/name-and-stack.png
new file mode 100644
index 00000000..cb01e46a
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/name-and-stack.png differ
diff --git a/docs/how-to/assets/live-service-templates/platform-changes.png b/docs/how-to/assets/live-service-templates/platform-changes.png
new file mode 100644
index 00000000..61331d35
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/platform-changes.png differ
diff --git a/docs/how-to/assets/live-service-templates/publish.png b/docs/how-to/assets/live-service-templates/publish.png
new file mode 100644
index 00000000..776155f2
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/publish.png differ
diff --git a/docs/how-to/assets/live-service-templates/service-template-dashboard.png b/docs/how-to/assets/live-service-templates/service-template-dashboard.png
new file mode 100644
index 00000000..ed0be3fe
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/service-template-dashboard.png differ
diff --git a/docs/how-to/assets/live-service-templates/settings.png b/docs/how-to/assets/live-service-templates/settings.png
new file mode 100644
index 00000000..61b302a2
Binary files /dev/null and b/docs/how-to/assets/live-service-templates/settings.png differ
diff --git a/docs/how-to/assets/service-catalog/above-grid-add-filter.png b/docs/how-to/assets/service-catalog/above-grid-add-filter.png
new file mode 100644
index 00000000..548b5f36
Binary files /dev/null and b/docs/how-to/assets/service-catalog/above-grid-add-filter.png differ
diff --git a/docs/how-to/assets/service-catalog/card-view.png b/docs/how-to/assets/service-catalog/card-view.png
new file mode 100644
index 00000000..713106bf
Binary files /dev/null and b/docs/how-to/assets/service-catalog/card-view.png differ
diff --git a/docs/how-to/assets/service-catalog/code-view.png b/docs/how-to/assets/service-catalog/code-view.png
new file mode 100644
index 00000000..4e6ec150
Binary files /dev/null and b/docs/how-to/assets/service-catalog/code-view.png differ
diff --git a/docs/how-to/assets/service-catalog/commits.png b/docs/how-to/assets/service-catalog/commits.png
new file mode 100644
index 00000000..a7654cac
Binary files /dev/null and b/docs/how-to/assets/service-catalog/commits.png differ
diff --git a/docs/how-to/assets/service-catalog/filter-view.png b/docs/how-to/assets/service-catalog/filter-view.png
new file mode 100644
index 00000000..630b89e3
Binary files /dev/null and b/docs/how-to/assets/service-catalog/filter-view.png differ
diff --git a/docs/how-to/assets/service-catalog/grid-view.png b/docs/how-to/assets/service-catalog/grid-view.png
new file mode 100644
index 00000000..d69ecd0e
Binary files /dev/null and b/docs/how-to/assets/service-catalog/grid-view.png differ
diff --git a/docs/how-to/assets/service-catalog/pending-changes-sidebar.png b/docs/how-to/assets/service-catalog/pending-changes-sidebar.png
new file mode 100644
index 00000000..7b1c0c55
Binary files /dev/null and b/docs/how-to/assets/service-catalog/pending-changes-sidebar.png differ
diff --git a/docs/how-to/assets/service-catalog/pending-changes.png b/docs/how-to/assets/service-catalog/pending-changes.png
new file mode 100644
index 00000000..1e844a3e
Binary files /dev/null and b/docs/how-to/assets/service-catalog/pending-changes.png differ
diff --git a/docs/how-to/assets/service-catalog/service-catalog.png b/docs/how-to/assets/service-catalog/service-catalog.png
new file mode 100644
index 00000000..a360b4f2
Binary files /dev/null and b/docs/how-to/assets/service-catalog/service-catalog.png differ
diff --git a/docs/how-to/authentication-plugin-examples.mdx b/docs/how-to/authentication-plugin-examples.mdx
index fb427fc9..79323097 100644
--- a/docs/how-to/authentication-plugin-examples.mdx
+++ b/docs/how-to/authentication-plugin-examples.mdx
@@ -7,29 +7,12 @@ pagination_next: getting-started/authentication
# Authentication Plugin Guide
-Authentication and authorization are crucial components of your Amplication service.
+Authentication and authorization are crucial components of your Amplication service. This guide will help you implement secure user authentication using Amplication's authentication plugins.
-By following this guide and exploring the examples, you'll be well-equipped to implement authentication and authorization in your Amplication-generated service using the authentication plugin that best suits your needs.
+## Enable Authentication
-## Creating The Authentication Entity (Node.js)
-
-:::note
-This step is required only for Node.js services. .NET services do not require this step.
-:::
-
-If you initially created your Node.js service without authentication, you must first create and define the Authentication Entity:
-
-1. Go to your service's Entities page.
-2. Create an entity, typically named "User", to serve as your Authentication Entity.
-3. In your service's settings, choose the newly created entity in the "Authentication Entity" option.
-
-:::tip
-For detailed instructions, refer to the [Authentication Entity documentation](https://docs.amplication.com/user-entity).
-:::
-
-## Adding Authentication to Your Service
-
-Once you have an Authentication Entity set up, follow these steps to add authentication:
+Make sure you have an [Authentication Entity](/user-entity) set up.
+Next, follow these steps to add authentication:
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
@@ -42,6 +25,10 @@ import TabItem from '@theme/TabItem';
3. Ensure you install the "NestJS Auth Module" plugin first.
4. Choose and add an Auth Provider plugin that suits your needs (e.g., Auth0, Supertokens, etc.).
+:::note
+By default, Node.js services are created with a user with the credentials username: `admin` and password: `admin`.
+:::
+
@@ -49,24 +36,26 @@ import TabItem from '@theme/TabItem';
2. Go to the "Authentication" category in the left sidebar.
3. Choose and add an Auth Provider plugin that suits your needs (e.g., ASP.NET Core Identity).
+:::note
+For .NET services, the default user credentials are username: `test@email.com` and password: `P@ssw0rd!`
+:::
+
-After adding the required Authentication plugins:
+After adding the required Authentication plugins, [configure your authentication settings](#plugin-configuration-settings) in the plugin options page.
-1. [Configure your authentication settings](#authentication-plugin-configuration-settings) in the plugin options page.
-2. Add authenticated users to your system.
-3. [Set up roles and permissions](/configure-roles-and-permissions/) for authorization.
+## Disable Authentication
-:::note
-By default, Node.js services are created with a user with the credentials username: `admin` and password: `admin`. For .NET services, the default user credentials are username: `test@email.com` and password: `P@ssw0rd!`
-:::
+If you no longer need authentication on a specific service, you can disable it.
-## Available Authentication Plugins
+1. Visit your service's Plugins page and toggle the Authentication-related plugins into the off state.
+2. Delete the [Authentication Entity](/user-entity/) from your list of entities.
+3. [Re-build your project](/building-new-versions/) and commit your changes to your preferred git provider.
-Amplication offers several authentication plugins to choose from. Each plugin has its own configuration options and setup process.
+## Authentication Providers
-### Node.js
+Amplication supports multiple authentication providers to suit different needs:
1. [JWT Auth Provider](https://jwt.io/)
2. [Auth0 Auth Provider](https://auth0.com/)
@@ -74,33 +63,34 @@ Amplication offers several authentication plugins to choose from. Each plugin ha
4. [SAML Auth Provider](https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language)
5. Basic Auth Provider
6. [KeyCloak Auth Provider](https://www.keycloak.org/)
+7. [ASP.NET Core Identity](https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-9.0&tabs=visual-studio)
-#### JWT Auth Provider
+### JWT Auth Provider
- Adds JSON Web Token (JWT) authentication and authorization to your service.
- Must be installed with the "NestJS Auth Module" plugin.
- For detailed configuration, visit the [JWT Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-jwt).
-#### Auth0 Auth Provider
+### Auth0 Auth Provider
- Integrates Auth0 authentication and authorization into your service.
- Requires an Auth0 account and configuration of an Auth0 application.
- For setup instructions and configuration options, check the [Auth0 Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-auth0).
-#### Supertokens Auth Provider
+### Supertokens Auth Provider
- Adds Supertokens authentication to your service.
- Supports various authentication recipes (e.g., email-password, passwordless, third-party).
- Requires setup of the Supertokens core service.
- For detailed configuration and usage, refer to the [Supertokens Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-supertokens).
-#### SAML Auth Provider
+### SAML Auth Provider
- Enables SAML authentication on your service.
- Uses Passport SAML strategy and generates JWT tokens for authorization.
- For usage details, check the [SAML Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-saml).
-#### Basic Auth Provider
+### Basic Auth Provider
- Enables a straightforward authentication scheme built into the HTTP protocol.
- Requires sending user's credentials in the form of a username and password, encoded in base64, included in the Authorization header of the request.
@@ -109,28 +99,24 @@ Amplication offers several authentication plugins to choose from. Each plugin ha
If you use the Basic Auth Provider plugin, your service comes with one user with the username `admin` and the password `admin` by default.
:::
-#### KeyCloak Auth Provider
+### KeyCloak Auth Provider
- Integrates KeyCloak authentication and authorization into your service.
- Provides single sign-on (SSO) capabilities and support for various identity protocols.
- Requires setup of a KeyCloak server and configuration of a KeyCloak realm.
- For detailed setup instructions and configuration options, refer to the [KeyCloak Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-keycloak).
-### .NET
-
-For .NET services, ASP.NET Core Identity is the primary authentication option.
-
-#### ASP.NET Core Identity
+### ASP.NET Core Identity
If you're using a .NET service, refer to the [.NET Auth Core Identity plugin documentation](https://github.com/amplication/plugins/tree/master/plugins/dotnet-auth-core-identity) for setup and usage instructions.
-## Authentication Plugin Configuration Settings
+## Plugin Configuration Settings
You can customize your authentication settings, including the default username and password, in the authentication plugin's options page.
Let's look at detailed configuration settings for some of the available authentication plugins:
-### ASP.NET Core Identity (.NET)
+### ASP.NET Core Identity
This plugin adds authentication and authorization to your .NET services.
@@ -146,7 +132,7 @@ This plugin adds authentication and authorization to your .NET services.
- `seedUserEmail`: The email address for the default seed user created when initializing the service (default: "test@email.com")
- `seedUserPassword`: The password for the default seed user created when initializing the service (default: "P@ssw0rd!")
-### JWT Auth Provider (Node.js)
+### JWT Auth Provider
The JWT Auth Provider adds JSON Web Token (JWT) authentication and authorization to your service.
@@ -170,7 +156,7 @@ The JWT Auth Provider adds JSON Web Token (JWT) authentication and authorization
For detailed configuration, visit the [JWT Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-jwt).
-### Auth0 Auth Provider (Node.js)
+### Auth0 Auth Provider
The Auth0 Auth Provider integrates Auth0 authentication and authorization into your service.
@@ -203,7 +189,7 @@ The Auth0 Auth Provider integrates Auth0 authentication and authorization into y
For setup instructions and configuration options, check the [Auth0 Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-auth0).
-### Supertokens Auth Provider (Node.js)
+### Supertokens Auth Provider
The Supertokens Auth Provider adds Supertokens authentication to your service, supporting various authentication recipes.
@@ -239,7 +225,7 @@ The Supertokens Auth Provider adds Supertokens authentication to your service, s
For detailed configuration and usage, refer to the [Supertokens Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-supertokens).
-### Keycloak Auth Provider (Node.js)
+### Keycloak Auth Provider
The Keycloak Auth Provider integrates Keycloak authentication and authorization into your service.
@@ -280,7 +266,7 @@ The Keycloak Auth Provider integrates Keycloak authentication and authorization
For detailed setup instructions and configuration options, refer to the [Keycloak Auth Provider GitHub README](https://github.com/amplication/plugins/tree/master/plugins/auth-keycloak).
-### Basic Auth Provider (Node.js)
+### Basic Auth Provider
```json
{
@@ -292,19 +278,11 @@ For detailed setup instructions and configuration options, refer to the [Keycloa
- `username`: The username for the default seed user created when initializing the service.
- `seedUserPassword`: The password for the default seed user created when initializing the service.
-## Disable Authentication On Your Service
-
-If you no longer need authentication on a specific service, you can disable it.
-
-1. Visit your service's Plugins page and toggle the Authentication-related plugins into the off state.
-2. Delete the Authentication Entity from your list of entities.
-3. Re-build your project and commit your changes to your preferred git provider.
-
## Examples
This section provides you with in-depth examples on how to use and interact with some of the available authentication plugins.
-### JWT Authentication (Node.js)
+### JWT Authentication
When generating an app with JWT authentication, the process includes the following two steps:
@@ -348,7 +326,7 @@ mutation {
-### Basic Authentication (Node.js)
+### Basic Authentication
When using Basic HTTP authentication and sending a request to the API you must provide a Basic HTTP authentication header with the format:
@@ -363,3 +341,10 @@ Authorization: Basic YWRtaW46YWRtaW4=
:::tip
You can use a tool to create the header. There are several generators available, such as [https://www.blitter.se/utils/basic-authentication-header-generator/](https://www.blitter.se/utils/basic-authentication-header-generator/)
:::
+
+## Next Steps
+
+After you've successfully added authentication to your service, you can do the following:
+
+1. Add authenticated users to your system.
+2. [Set up roles and permissions](/configure-roles-and-permissions/) for authorization.
diff --git a/docs/how-to/create-service.md b/docs/how-to/create-service.md
index 08602141..901939cf 100644
--- a/docs/how-to/create-service.md
+++ b/docs/how-to/create-service.md
@@ -78,7 +78,7 @@ You're not locked into your choice - you can always change your database type la
## Step 6: Define Your Data Model
-Define entities and fields for your database. You can manually define your own or use a template provided by Amplication.
+Define entities and fields for your database. You can manually define your own or use pre-defined entities provided by Amplication at service creation.
:::info
Entities are the objects you want to keep track of in your app, like a User or a Product. They become tables in your database. Each row represents an instance of the entity.
diff --git a/docs/how-to/deploy.md b/docs/how-to/deploy.md
index 50e5e3c3..80ec1b82 100644
--- a/docs/how-to/deploy.md
+++ b/docs/how-to/deploy.md
@@ -8,24 +8,27 @@ slug: /deploy
# Amplication Deployment
Amplication provides flexible and powerful deployment options for services generated using our platform.
-This guide provides an overview of Amplication's deployment options and links to specific instructions for various deployment targets.
+This guide provides an overview of deployment options and links to specific instructions for various deployment targets.
## Understanding Amplication's Deployment Architecture
-Amplication services are composed of at least two main parts, all of which are automatically generated by our platform.
+Every Amplication service consists of core components that work together to deliver your application:
-1. **API Server**
-2. **Database**
+### Core Components
-Depending on your service requirements, Amplication can automatically generate the code for additional components such as:
+1. **API Server**: Your main application server
+2. **Database**: Persistent data storage
-- Message brokers like Kafka
-- Caching solutions like Redis
-- Other integrations specific to your service needs
+### Optional Components
-These additional components are seamlessly integrated as containers in your `docker-compose` file.
+Depending on your service requirements, you may include:
-All components, including optional ones, are auto-generated by Amplication.
+- Admin Interface (Pre-built administrative dashboard)
+- Message brokers (e.g., Kafka, RabbitMQ)
+- Caching solutions (e.g., Redis)
+- Other plugins
+
+All components are containerized and defined in your generated `docker-compose` file, making deployment consistent across environments.
## Deployment Options
diff --git a/docs/how-to/live-service-templates.md b/docs/how-to/live-service-templates.md
new file mode 100644
index 00000000..5dadbd0f
--- /dev/null
+++ b/docs/how-to/live-service-templates.md
@@ -0,0 +1,128 @@
+---
+title: Live Service Templates
+description: Learn about Amplication's Live Service Templates feature for creating and managing standardized services.
+sidebar_label: Live Service Templates
+slug: /live-service-templates
+---
+
+# Live Service Templates
+
+Live Service Templates provide a centralized way to create, maintain, and enforce standardized backend services through reusable templates that evolve with your organization's best practices.
+
+## Overview
+
+Live Service Templates introduce several key components:
+
+1. **Service Templates**: Pre-configured templates that serve as a foundation for creating and maintaining new services that follow your organization standards and best practices.
+2. **Template-based Services**: New services created from existing templates, inheriting all settings, configurations and plugins.
+3. **Template Management**: Tools for creating, editing, and maintaining service templates, with the ability to propagate template updates automatically to the services as pull requests with the required changes.
+
+## Create a Service Template
+
+Navigate to the [Platform Console](/platform-console) dashboard. Click on "Create Template".
+
+The Service Template Creation Wizard will guide you through the process of setting up your template.
+
+1. **Select Technologies**: Choose the name and back-end framework for your template.
+
+![Live Service Template Name and Stack](./assets/live-service-templates/name-and-stack.png)
+
+2. **Choose APIs**: Select which APIs to include (REST API, GraphQL API, or both). Also, decide whether to generate an Admin UI for your templated service.
+
+:::note
+GraphQL API and Admin UI are currently not available with the .NET generator.
+:::
+
+![Live Service Template Select APIs](./assets/live-service-templates/apis.png)
+
+3. **Database Selection**: Choose the database type for your template (e.g., PostgreSQL, MySQL, MongoDB, MS SQL Server).
+
+![Live Service Template Database Selection](./assets/live-service-templates/database.png)
+
+After completing these steps, your new service template will be created and added to the Platform Console.
+
+![Amplication Create New Template](./assets/live-service-templates/complete.png)
+
+## Manage Service Templates
+
+### Viewing Templates
+
+To view and manage your templates:
+
+1. Go to the Platform Console dashboard.
+2. You'll see a list of all your service templates, including their name, description, code generator type, and more.
+
+![Amplication Platform Console](./assets/amplication-platform-console.png)
+
+### Managing Plugins
+
+To manage plugins for your template:
+
+1. Go to the Plugins section of your service template.
+2. You can view all available plugins, installed plugins, or private plugins.
+3. To install a new plugin, select it from the available options and click "Install".
+
+:::note
+To learn more about Plugin Management and Private Plugins, visit the [Plugins page](/getting-started/plugins/) and [Private Plugins page](/private-plugins/).
+:::
+
+### Template Settings
+
+The Settings tab for service templates provides various configuration options:
+
+1. **General**: Update the template name and description.
+2. **APIs and Admin**: Toggle different API types (REST, GraphQL) and Admin UI.
+3. **Base Directories**: Set the root directory for code placement when using the sync with Git feature. You can use `{{SERVICE_NAME}}` as a placeholder for the service name which will be generated from the template.
+4. **Code Generator Version**: Select a specific version or use the latest.
+
+:::note
+While you can customize the Base Directories, we recommend keeping the `{{SERVICE_NAME}}` placeholder for better organization and consistency.
+:::
+
+![Service Template Dashboard](./assets/live-service-templates/settings.png)
+
+## Creating Services from Templates
+
+To create a new service based on a template:
+
+1. Go to the Service Catalog of your project.
+2. Click "Add Resource".
+3. Select "Service from Template".
+4. Choose the desired template from the dropdown menu.
+5. Provide a name for your new service.
+6. Click "Create" to generate the new service based on the selected template.
+
+![Amplication Create Services From Template](./assets/create-service-from-template.png)
+
+The new service will inherit all settings and plugins from the template. You can view these inherited configurations in the Pending Changes tab.
+
+## Update Service Templates
+
+When you update a service template:
+
+1. Make the desired changes (e.g., add new plugins, modify settings).
+2. Click "Publish New Version" to reach the Publish screen.
+3. Add a description for your changes and publish the version(s).
+
+The template definitions will be updated, with no immediate effect on the services created from this template.
+
+![Amplication Platform Changes](./assets/live-service-templates/platform-changes.png)
+
+## Propagate Template Changes to Services
+
+After updating a template, the changes can be applied to existing services through the following process:
+
+1. You will receive in-product notifications and emails about available service updates.
+2. Access the tech debt screen and use the upgrade option for the required services.
+3. This will create pending changes that include all template updates, plugins, and definitions.
+4. Review and apply these changes by choosing to "Generate the code" to update your services.
+
+This process will create a new commit with all the updated template configurations, plugins, and definitions.
+
+## Next Steps
+
+Now that you've created an individual template, you can start building a comprehensive collection of templates and [private plugins](/private-plugins/) that reflect your organization's best practices and standards. This approach helps ensure consistency and maintainability across all your services.
+
+:::tip
+For any questions or issues related to Live Service Templates, please contact our support team or join our [Discord community](https://discord.gg/amplication) for feedback and discussions.
+:::
\ No newline at end of file
diff --git a/docs/how-to/platform-console.md b/docs/how-to/platform-console.md
index 370633c4..e2544136 100644
--- a/docs/how-to/platform-console.md
+++ b/docs/how-to/platform-console.md
@@ -1,122 +1,104 @@
---
-title: Platform Console
-description: Learn about Amplication's Platform Console, including templates and private plugins for standardizing service creation and management.
+title: Platform Console
+description: Learn about Amplication's Platform Console, a hub for managing platform-wide features and configurations.
sidebar_label: Platform Console
slug: /platform-console
---
-The **Platform Console** is a powerful new feature in Amplication that allows your team to define, manage, and maintain standardized templates and private plugins for their backend services.
+# Platform Console
-:::note
-The Platform Console features, including the usage of templates and creation of services based on templates, are **currently in beta**.
-:::
+The **Platform Console** is a powerful feature in Amplication that provides a centralized hub for managing platform-wide features and configurations. It allows your team to oversee and maintain standardized practices across your services and projects.
## Overview
-The Platform Console introduces two main components:
+The Platform Console introduces several key tabs:
-1. **Platform Console Templates**: Pre-configured service templates that serve as a blueprint for creating new services.
-2. **Private Plugins**: Custom plugins visible only to your organization that can be added to templates or services to extend functionality and/or keep your organization's best practices and standards.
+1. [**Live Service Templates**](/live-service-templates): Pre-configured templates that serve as a foundation for creating and maintaining standardized services that follow your organization's best practices.
+2. [**Private Plugins**](/private-plugins/): Custom plugins visible only to your organization that can be added to templates or services to extend functionality and enforce your organization's standards.
+3. **Technical Debt Management**: Centralized tracking and resolution template and plugin changes across all your services.
+4. **Platform Changes**: In-depth overview of all changes made to templates and plugins since their last published versions.
+5. **Publish**: Version control and publish management for template and plugin updates.
-These components are managed through a new dashboard interface, separate from the existing services view.
+These tabs are managed through a dedicated Platform Console dashboard, separate from the Service Catalog.
![Amplication Platform Console](./assets/amplication-platform-console.png)
## Benefits
-- **Standardization**: Ensure all services follow organizational best practices and configurations.
-- **Customization**: Create and use private plugins to tailor services to your organization's specific needs.
-- **Efficiency**: Quickly create new services based on pre-defined templates.
+- **Standardization**: Ensure all services follow organizational best practices and configurations with Live Service Templates and Private Plugins.
+- **Efficiency**: Quickly create new services based on your templates.
+- **Customization**: Create and use Private Plugins to tailor services to your organization's specific needs.
- **Smooth Maintenance**: Update multiple services from a single location. When you update a template, all services using that template can automatically get a PR with the required changes.
-- **Technical Debt Prevention**: Implement organization-wide best practices across all services through templates and private plugins, creating a scalable architecture that resists the accumulation of technical debt as your project grows.
-
-## Platform Console Templates
-
-Platform Console Templates allow you to create a single source of truth for your services' architecture. These templates can include:
-
-- Pre-configured settings
-- Standard plugins
-- Custom private plugins
-
-### Creating a Template
+- **Technical Debt Prevention**: Implement evolving organization-wide best practices across all services through templates and private plugins, creating a scalable architecture that resists the accumulation of technical debt as your project grows.
-To create a new template:
+## Platform Console Features
-1. Navigate to the Platform Console dashboard.
-2. Click on "Create Template".
-3. Provide a name for your template (e.g., "Node.js with PostgreSQL").
-4. Select the desired components (e.g., Admin UI, GraphQL API, REST API).
-5. Choose a database (e.g., PostgreSQL).
-6. Click "Create" to finalize the template.
+### Live Service Templates
-![Amplication Create New Template](./assets/template-name-and-stack.png)
+Live Service Templates is a powerful feature that allows you to create, manage, and use standardized templates for your backend services. Key aspects include:
-### Managing Templates
+- **Template Creation**: Define reusable service templates with pre-configured settings and plugins.
+- **Service Generation**: Quickly create new services based on your defined templates.
+- **Template Management**: Edit and update templates, with the ability to propagate changes to services through automatic pull requests.
-Managing and updating templates is very similar to updating individual services. You have access to the same settings and most of the options available for services, including:
+For detailed information on creating and using Live Service Templates, please refer to our [Live Service Templates](/live-service-templates) documentation.
-- Viewing all templates in the Platform Console dashboard.
-- Adding or removing plugins, including custom plugins.
-- Renaming templates and updating their descriptions.
+### Private Plugins
-To edit a template:
+[Private plugins](/private-plugins/) allow you to create custom functionality specific to your organization's needs. These can be added to services or used in templates. These plugins let you build secure, proprietary integrations and define your organization's standards.
-1. Navigate to the Settings tab to update the configuration or the Plugins tab to install and update plugins.
-2. Make your desired changes.
-3. All changes are saved automatically.
-
-
-### Using Templates
-
-To create a new service based on a template:
-
-1. Click on the "Add Resource" button.
-2. Select "Service from Template" from the available options.
-3. In the modal that appears, choose a specific service template.
-4. Provide a name for your new service.
-5. Click "Create" to generate the new service based on the selected template.
+To create a private plugin:
-This process ensures that the new service inherits all the pre-configured settings and plugins defined in the template.
+1. In the Platform Console dashboard, navigate to the "Private Plugins" section.
+2. Click on "Create Private Repository".
+3. Connect to your plugin repository and add your existing private plugins to the project.
-![Amplication Create Services From Template](./assets/create-service-from-template.png)
+### Technical Debt Management
-## Private Plugins
+The Technical Debt tab helps you track and manage accumulated technical debt across all your services. It provides a comprehensive grid view of services that may be using outdated templates or plugins.
-Private plugins allow you to create custom functionality specific to your organization's needs. These can be added to templates or directly to services.
+For each service with technical debt, you can see:
+- Alert type (template or plugin updates)
+- Current version in use
+- Latest available version
+- Status (Active, Resolved, or Ignored)
-:::note
-Creating and managing private plugins requires an Enterprise plan.
-:::
+When you click "View Details" for any alert, you'll be taken to that specific service's technical debt tab where you can:
+- View detailed diffs comparing the old and new versions
+- Choose to ignore specific updates
+- Resolve technical debt using the "Upgrade" button and generating a new service version
-### Creating a Private Plugin
+Team members associated with affected services receive notifications about technical debt alerts, helping maintain up-to-date and consistent services across your organization.
-To create a private plugin:
+### Platform Changes
-1. In the Platform Console dashboard, navigate to the "Private Plugins" section.
-2. Click on "Create Private Repository".
-3. Connect to your plugin repository and add your existing private plugins to the project.
+The Platform Changes tab provides an in-depth overview of all modifications made to templates and plugins since their last published versions. You can:
+- View detailed diffs of changes, such as plugin order updates or new plugin additions
+- See the exact code changes that will be applied
+- Review changes per template or plugin individually
+- Track what's changed since the last publish
-## Platform Changes Sidebar
+### Publish
-The Platform Console introduces a new **_Platform_ Changes** sidebar that replaces the **_Pending_ Changes** sidebar. It's only visible when you're viewing the Platform Console.
+The Publish tab allows you to manage version control for template and plugin updates. Key features include:
-"Platform Changes" shows changes made to templates and private plugins, while "Pending Changes" still shows service-level changes.
+- Add version messages to describe your changes
+- Choose between publishing all changes or individual updates
+- Select version update type (major, minor, or patch)
+- Publish changes with different version messages for different templates/plugins
:::note
-Platform changes are separate from service-level changes. Make sure to review and commit platform changes separately from service changes.
+Publishing a new version of a template or plugin doesn't automatically update services using them. Updates become available in the Technical Debt tab, where you can review and apply them to specific services.
:::
-![Amplication Create Services From Template](./assets/platform-changes.png)
-
## Conclusion
-The Platform Console feature is designed to enhance the maintainability of your backend services, ensure organizational standardization, reduce technical debt, and streamline collaboration between platform and development teams.
-As this feature is currently in beta, we encourage you to explore its capabilities and share your feedback to help us further improve and refine it.
+The Platform Console enhances the maintainability of your backend services, ensures organizational standardization, reduces technical debt, and streamlines collaboration between platform and development teams.
:::tip
-For any questions or issues related to the Platform Console, please contact us or write your feedback on our [GitHub discussion](https://github.com/amplication/amplication/discussions/8979).
+For any questions or issues related to the Platform Console, please join our [Discord community](https://discord.gg/amplication) for feedback and discussions.
:::
\ No newline at end of file
diff --git a/docs/how-to/service-catalog.md b/docs/how-to/service-catalog.md
new file mode 100644
index 00000000..984d47c2
--- /dev/null
+++ b/docs/how-to/service-catalog.md
@@ -0,0 +1,111 @@
+---
+title: Service Catalog
+description: Learn about Amplication's Service Catalog. Manage, monitor, and configure your services through an intuitive interface.
+sidebar_label: Service Catalog
+slug: /service-catalog
+---
+
+The **Service Catalog** is your central hub for managing and monitoring all services within your Amplication project. It provides an intuitive interface to oversee your services, track their configurations, and manage changes effectively.
+
+The Service Catalog's main focus is the catalog view, which offers a comprehensive grid-based interface for managing your application services. This interface is designed to provide maximum visibility and control over your entire project.
+
+![Amplication Service Catalog](./assets/service-catalog/service-catalog.png)
+
+## Grid Columns
+The grid displays comprehensive information about each service through the following columns:
+
+- **Type** - Displays the resource type with visual indicators: purple brackets icon for services, green icon for message brokers, and distinct icons for other resource types
+- **Name** - The name of your service
+- **Owner** - Shows the assigned team or individual member responsible for the service. Clicking this field takes you to settings where you can modify ownership
+- **Code Generator** - Indicates the selected technology stack for the service
+- **Repository** - Shows the connected Git repository. Can be modified through the service's "Sync with Git" tab
+- **Description** - Custom description of your service, editable through the service settings
+- **Pending Changes** - Displays the number of uncommitted changes since the last build
+- **Last Build** - Shows build status (green checkmark for success) and timing (e.g., "2 days ago"). Clicking navigates to the specific commit details
+- **Code Gen Version** - Displays the current code generator version with status indicators:
+ - Lightning bolt: automatically updates to latest version
+ - Lock icon: version is locked to specific release
+- **Template** - Shows if the service was created from a template (orange icon). Clicking navigates to template details
+- **Template Version** - Displays the current template version number, which increments with each newly published template
+- **Actions** - Provides access to available operations for the service
+
+## Customizing the Grid
+
+### Column Management
+
+- Drag columns left or right to reorder them
+- Resize columns by dragging their edges
+- Show/hide columns by clicking on the filter icon next to search
+
+### Sorting
+
+Click any column header to sort the grid:
+
+- First click: Sort in ascending order
+- Second click: Sort in descending order
+- Third click: Remove sorting
+
+### Filter View
+
+![Add filter to grid](./assets/service-catalog/above-grid-add-filter.png)
+
+You can filter the data that displays on your grid beyond the column management filters.
+For example, you can filter by properties, resource types, project, ownership, and more.
+
+To apply filters, click the "Add filter" button above the grid, select your desired filter type, and refine the filter criteria by clicking on the added filter component to narrow down your view.
+
+### Teams Organization
+
+Teams provide an additional layer of service organization and ownership management.
+
+The owner (team or individual) is prominently displayed in the Service Catalog grid, allowing quick identification of who's responsible for each service.
+You can click the owner field to modify ownership settings directly.
+
+To set up and manage teams in your workspace, follow these steps:
+
+1. Access Teams through the Teams tab in your workspace dashboard
+2. Create new teams with:
+ - Custom names
+ - Descriptions
+ - Distinctive colors (appears in the service catalog grid)
+3. Add team members
+4. Assign services to teams or individual members for ownership
+
+### Properties
+
+Properties allow custom organization of your services:
+
+1. Access Properties through the Properties tab in your workspace dashboard.
+2. Create new properties with:
+ - Custom name and key
+ - Optional description
+ - Type selection:
+ - **Select**: Single choice from predefined options
+ - **Multi-select**: Multiple choices from predefined options
+ - **Text**: Simple text field
+ - **Link**: URL reference
+3. For Select and Multi-select types:
+ - Define custom options
+ - Assign colors to options for visual organization in the grid
+
+## Pending Changes Sidebar
+
+The Pending Changes sidebar shows you modifications across your services, including:
+
+- Plugin additions or updates
+- Entity modifications
+- Service configuration changes
+- Template applications
+
+When you're ready to apply changes, click the "Generate the code" button to build all services with pending modifications.
+
+![Amplication Service Catalog Pending Changes Sidebar](./assets/service-catalog/pending-changes-sidebar.png)
+
+## Next Steps
+
+Now that you're familiar with the Service Catalog, explore these additional capabilities:
+
+- Create [live templates](/live-service-templates/) to standardize service configurations
+- Develop [private plugins](/private-plugins/) to extend functionality
+- Build and deploy [new versions](/building-new-versions/) of your services
+- Integrate [custom code](/how-to/custom-code/) into your generated services
diff --git a/docs/platform-features/assets/alert-properties.png b/docs/platform-features/assets/alert-properties.png
new file mode 100644
index 00000000..033f090f
Binary files /dev/null and b/docs/platform-features/assets/alert-properties.png differ
diff --git a/docs/platform-features/assets/alert-settings.png b/docs/platform-features/assets/alert-settings.png
new file mode 100644
index 00000000..3e40865b
Binary files /dev/null and b/docs/platform-features/assets/alert-settings.png differ
diff --git a/docs/platform-features/assets/alert-types.png b/docs/platform-features/assets/alert-types.png
new file mode 100644
index 00000000..33f5e702
Binary files /dev/null and b/docs/platform-features/assets/alert-types.png differ
diff --git a/docs/platform-features/assets/resolve-technical-debt.png b/docs/platform-features/assets/resolve-technical-debt.png
new file mode 100644
index 00000000..00c81223
Binary files /dev/null and b/docs/platform-features/assets/resolve-technical-debt.png differ
diff --git a/docs/platform-features/assets/service-level-technical-debt.png b/docs/platform-features/assets/service-level-technical-debt.png
new file mode 100644
index 00000000..cbc50d65
Binary files /dev/null and b/docs/platform-features/assets/service-level-technical-debt.png differ
diff --git a/docs/platform-features/assets/technical-debt-grid.png b/docs/platform-features/assets/technical-debt-grid.png
new file mode 100644
index 00000000..4258ee47
Binary files /dev/null and b/docs/platform-features/assets/technical-debt-grid.png differ
diff --git a/docs/platform-features/technical-debt-management.md b/docs/platform-features/technical-debt-management.md
new file mode 100644
index 00000000..de5efbf6
--- /dev/null
+++ b/docs/platform-features/technical-debt-management.md
@@ -0,0 +1,120 @@
+---
+id: technical-debt-management
+title: Technical Debt Management
+sidebar_label: Technical Debt Management
+description: Comprehensive guide to managing technical debt in Amplication
+---
+
+# Technical Debt Management
+
+Amplication's Technical Debt Management system helps you maintain alignment between your services and organizational standards as they evolve. This feature provides automated alerts, easy updates, and comprehensive tracking to ensure your services stay current with the latest templates, plugins, and best practices.
+
+![Technical Debt Management Tab](./assets/technical-debt-grid.png)
+
+## Key Features
+
+- **Automated Technical Debt Detection**: Receive alerts when services, templates, or plugins become outdated
+- **Centralized Management**: Track and resolve technical debt across all services from a single dashboard
+- **Git Sync Integration**: Automated pull request generation for updates using [Smart Git Sync](/smart-git-sync/).
+- **Flexible Resolution Options**: Choose when and how to address technical debt
+- **Notification System**: Stay informed through in-app and email notifications
+
+## Accessing Technical Debt Management
+
+1. Navigate to the Platform Console by clicking "Platform" in the top left corner
+2. Select the "Tech Debt" tab
+
+## Understanding Technical Debt Alerts
+
+### Alert Types
+
+Amplication tracks three primary categories of technical debt:
+
+1. **Template Alerts**: Notify when a service needs updating to match new template versions
+2. **Plugin Alerts**: Indicate when plugin updates are available or when plugins require attention
+3. **Amplication Code Engine Alerts**: Signal updates to Amplication's code generation engine
+
+![Technical Debt Alert Types](./assets/alert-types.png)
+
+### Alert Properties
+
+Each alert contains essential information:
+- **Alert Type**: Specifies whether the alert is related to templates, plugins, or the code engine
+- **Affected Resource**: Identifies the specific service or template that requires attention
+- **Current Version in Use**: The version of the template, plugin, or code engine currently being used
+- **Latest Available Version**: The most recent version available for update
+- **Alert Creation Date**: The date when the system identified the technical debt
+- **Alert Status**: Current state of the alert (Active, Resolved, Ignored, or Canceled)
+
+![Technical Alert Properties](./assets/alert-properties.png)
+
+## Managing Technical Debt
+
+### Viewing Alerts
+
+The Technical Debt dashboard provides a comprehensive view of all alerts:
+
+1. **Status Filter**: Filter alerts by:
+ - Active (default view)
+ - Resolved
+ - Ignored
+ - Canceled
+
+2. **Type Filter**: Filter by:
+ - Template alerts
+ - Plugin alerts
+ - Code Engine alerts
+
+## Resolving Technical Debt
+
+### Template Updates
+
+1. Click "View Details" on a template alert
+2. Review the changes between versions in the diff view
+3. Click "Upgrade" to accept the changes
+4. Confirm the upgrade in the modal dialog
+
+:::note
+After upgrading, changes become pending changes. Generate code to create individual PRs for the updates using the code generation workflow.
+:::
+
+![Resolve Technical Debt on the Service-level](./assets/resolve-technical-debt.png)
+
+### Plugin Updates
+
+For services using "latest" version:
+1. Click "View Details" on the plugin alert
+2. The plugin will automatically update on the next code generation
+
+For services using pinned versions:
+1. Click "View Details"
+2. Generate code to apply changes
+
+
+## Notification Settings
+
+Customize how you receive technical debt alerts:
+
+1. Click the bell icon in the upper right corner
+2. Scroll to "Technical Debt Alert" settings
+3. Configure preferences for:
+ - In-app notifications
+ - Email notifications
+
+![Technical Debt Alert Settings](./assets/alert-settings.png)
+
+## Integration with Development Workflow
+
+Technical debt management integrates seamlessly with your development process:
+
+1. **Alert Detection**: Amplication automatically detects when services drift from standards
+2. **Review Process**: Team members can review and approve updates
+3. **Code Generation**: Updates are applied through your normal code generation workflow
+4. **Git Workflow**: Changes are managed through your existing Git workflow
+
+## Related Resources
+
+If you need additional support, please contact Amplication support team for assistance.
+
+- [Live Templates](/live-service-templates/)
+- [Private Plugins](/private-plugins/)
\ No newline at end of file
diff --git a/docs/plugins/assets/private-plugins/add-new-plugin.png b/docs/plugins/assets/private-plugins/add-new-plugin.png
new file mode 100644
index 00000000..ca102670
Binary files /dev/null and b/docs/plugins/assets/private-plugins/add-new-plugin.png differ
diff --git a/docs/plugins/assets/private-plugins/add-new-version.png b/docs/plugins/assets/private-plugins/add-new-version.png
new file mode 100644
index 00000000..d4a529b1
Binary files /dev/null and b/docs/plugins/assets/private-plugins/add-new-version.png differ
diff --git a/docs/plugins/assets/private-plugins/add-private-plugin-to-service.png b/docs/plugins/assets/private-plugins/add-private-plugin-to-service.png
new file mode 100644
index 00000000..ccd4b1c2
Binary files /dev/null and b/docs/plugins/assets/private-plugins/add-private-plugin-to-service.png differ
diff --git a/docs/plugins/assets/private-plugins/configure-git-settings.png b/docs/plugins/assets/private-plugins/configure-git-settings.png
new file mode 100644
index 00000000..28d15d55
Binary files /dev/null and b/docs/plugins/assets/private-plugins/configure-git-settings.png differ
diff --git a/docs/plugins/assets/private-plugins/dotnet-postgres-db.png b/docs/plugins/assets/private-plugins/dotnet-postgres-db.png
new file mode 100644
index 00000000..f63002db
Binary files /dev/null and b/docs/plugins/assets/private-plugins/dotnet-postgres-db.png differ
diff --git a/docs/plugins/assets/private-plugins/plugin-template.png b/docs/plugins/assets/private-plugins/plugin-template.png
new file mode 100644
index 00000000..eaea517c
Binary files /dev/null and b/docs/plugins/assets/private-plugins/plugin-template.png differ
diff --git a/docs/plugins/assets/private-plugins/private-plugins-repo.png b/docs/plugins/assets/private-plugins/private-plugins-repo.png
new file mode 100644
index 00000000..3ae6bd91
Binary files /dev/null and b/docs/plugins/assets/private-plugins/private-plugins-repo.png differ
diff --git a/docs/plugins/assets/private-plugins/publish-changes.png b/docs/plugins/assets/private-plugins/publish-changes.png
new file mode 100644
index 00000000..110881a1
Binary files /dev/null and b/docs/plugins/assets/private-plugins/publish-changes.png differ
diff --git a/docs/plugins/assets/private-plugins/settings.png b/docs/plugins/assets/private-plugins/settings.png
new file mode 100644
index 00000000..e231ca21
Binary files /dev/null and b/docs/plugins/assets/private-plugins/settings.png differ
diff --git a/docs/plugins/define-plugin-settings.md b/docs/plugins/define-plugin-settings.md
index 9615f296..7367f93e 100644
--- a/docs/plugins/define-plugin-settings.md
+++ b/docs/plugins/define-plugin-settings.md
@@ -13,7 +13,7 @@ This file lives at the root of your plugin directory.
It contains two properties at the root level:
- `settings`: User-facing configuration.
-- `systemSettings` - Internal configuration.
+- `systemSettings`: Internal configuration.
```json title=".amplicationrc.json"
{
@@ -25,7 +25,7 @@ It contains two properties at the root level:
"dbName": "my-db"
},
"systemSettings": {
- "requireAuth": true
+ "requireAuthenticationEntity": true
}
}
```
@@ -52,9 +52,7 @@ The `systemSettings` property is used to contain internal configuration that you
These settings are **not visible to the user** and are solely for use in your plugin's code.
:::caution
-**`systemSettings` is currently only available for internal developers** and not community developers.
-For now, use `systemSettings` to structure your `.amplicationrc.json` correctly.
-In the future, more documentation will be provided on what internal `systemSettings` are available.
+`requireAuthenticationEntity` is the only property available in the systemSettings configuration object. Also, **`systemSettings` is currently only available for internal developers** and not community developers.
:::
## Examples
diff --git a/docs/plugins/private-plugins.md b/docs/plugins/private-plugins.md
new file mode 100644
index 00000000..478d973e
--- /dev/null
+++ b/docs/plugins/private-plugins.md
@@ -0,0 +1,268 @@
+---
+id: private-plugins
+slug: /private-plugins
+toc_max_heading_level: 2
+---
+
+# Creating and Using Private Plugins
+
+Private Plugins enable you to create plugins exclusively for your organization's use.
+These plugins let you build secure, proprietary integrations and define your organization's standards. You can use them to protect sensitive business logic and enforce development best practices across your services.
+
+:::note
+Private Plugins are only **available for Enterprise Plan users**.
+:::
+
+Unlike community plugins hosted on public package managers, private plugins reside in your own Git repository, giving you complete control over your plugin infrastructure and code.
+
+## Create Your Private Plugins Repository
+
+First, set up a dedicated Git repository to host your plugin's source code and builds:
+
+1. Create a new Git repository specifically for your private plugins
+2. Create a `plugins` folder in the repository root
+
+The `plugins` folder will contain separate folders for each of your private plugins.
+
+![Private Plugins Repo](./assets/private-plugins/private-plugins-repo.png)
+
+## Configure Git Settings In Platform Console
+
+Next, configure your private plugins repository in the Platform Console:
+
+1. Navigate to your project's **Platform Console** from the top header
+2. Click the **Private Plugins** tab
+3. Select **Git Settings** in the left sidebar
+4. Enable the **Override default settings** toggle
+5. Choose your dedicated plugin repository from the dropdown
+
+:::important
+Never use the same repository for private plugins and generated services to avoid build conflicts.
+:::
+
+![Publish Your Platform Console Changes](./assets/private-plugins/configure-git-settings.png)
+
+## Add a New Private Plugin
+
+Next, add a new private plugin to your Platform Console:
+
+1. In the Private Plugins tab's sidebar, click the `Add Private Plugin` field
+2. Enter a unique name using kebab-case (e.g., `acme-corp-authentication`)
+3. Set the plugin's **Display Name** and **Description** - these will appear in the UI when selecting plugins
+4. Choose the appropriate code generator (Node.js or .NET) that matches your target services
+
+![Publish Your Platform Console Changes](./assets/private-plugins/add-new-plugin.png)
+
+## Set Up Your Private Plugin Folder
+
+After creating the plugin entry in the Platform Console, set up your development environment.
+
+### For Node.js Plugins:
+
+You can get started using our Node.js plugin template.
+
+![Node.js Plugin Template](./assets/private-plugins/plugin-template.png)
+
+First, navigate to the plugins folder.
+
+```bash
+cd plugins
+```
+
+Next, clone the plugin template and name it with your plugin's `Plugin Id`.
+
+```bash
+git clone https://github.com/amplication/plugin-template your-plugin-id
+```
+
+### For .NET Plugins:
+
+To create a new .NET plugin, we recommend copying and modifying the existing .NET Postgres Database plugin as a starting template.
+
+![.NET Postgres Database Plugin](./assets/private-plugins/dotnet-postgres-db.png)
+
+First, navigate to the `plugins` folder within your project:
+
+```bash
+cd plugins
+```
+
+Next, clone the .NET Postgres Database plugin.
+
+To avoid downloading the entire repository, we'll use a sparse checkout to copy only the `dotnet-db-postgres` folder from Amplication's plugins repository.
+
+Follow the steps below to complete this process:
+
+1. **Initialize the Clone Without Checking Out Files**
+ Begin by cloning the Amplication plugins repository without checking out any files:
+
+ ```bash
+ git clone --no-checkout https://github.com/amplication/plugins
+ ```
+
+2. **Set Up Sparse Checkout for the Plugin**
+ Specify that you only want to download the `dotnet-db-postgres` folder:
+
+ ```bash
+ git sparse-checkout set plugins/dotnet-db-postgres
+ ```
+
+3. **Check Out the Specified Folder**
+ Now, check out the files. This will only download the `plugins/dotnet-db-postgres` folder:
+
+ ```bash
+ git checkout
+ ```
+
+4. **Rename the Folder to Your Plugin ID**
+ Finally, rename the cloned `dotnet-db-postgres` folder to match your plugin's `Plugin Id`:
+
+ ```bash
+ mv plugins/dotnet-db-postgres your-plugin-id
+ ```
+
+## Develop Your Plugin
+
+Now that your plugin structure is set up, it's time to start building your plugin.
+We've prepared several resources and reference materials to help guide your plugin development process.
+
+Core Documentation:
+
+- [Private Plugins Overview](https://docs.amplication.com/plugins/overview/)
+- [.NET Plugin Events Reference Guide](https://docs.amplication.com/plugins/dotnet-plugin-events/create-server/)
+- [Node.js Plugin Events Reference Guide](https://docs.amplication.com/plugins/plugin-events/create-server/)
+
+Community Plugin Examples:
+
+- Browse the [official plugins repository](https://github.com/amplication/plugins/tree/master/plugins) for real-world examples
+
+:::note
+Study the published Node.js and .NET community plugins for best practices and guidance on how to structure your code effectively.
+:::
+
+## Add Versions to Your Plugin
+
+After developing your plugin, you'll need to version it both in Amplication and your Git repository.
+First, let's add a version through the Amplication UI:
+
+1. Navigate to the Private Plugins tab and select your plugin
+2. Scroll to **Add New Version** and click `Add Version`
+3. Note the version number you assign (e.g., `0.1.0`)
+
+![Publish Your Platform Console Changes](./assets/private-plugins/add-new-version.png)
+
+## Tag Your Git Repository
+
+Next, let's add a git tag to your plugin.
+Amplication uses Git tags to identify plugin versions during code generation.
+
+Create a tag with your Plugin ID and version from the previous step:
+
+```bash
+git tag "your-plugin-id@0.1.0"
+```
+
+Push the tag to your remote repository:
+
+```bash
+git push origin "your-plugin-id@0.1.0"
+```
+
+## Configure Plugin Settings
+
+Plugin settings allow you to define customizable options that users can configure when using your plugin. These settings can include API keys, feature flags, or other configuration values that modify your plugin's behavior.
+
+1. Click the **Edit** button (pencil icon) next to your version
+2. Configure user-facing settings in the **Settings** field:
+ ```json
+ {
+ "apiKey": "default-api-key",
+ "enableFeatureX": true
+ }
+ ```
+3. Set internal configurations in the **Configurations** field:
+ ```json
+ {
+ "requireAuthenticationEntity": true
+ }
+ ```
+
+![Publish Your Platform Console Changes](./assets/private-plugins/settings.png)
+
+:::note
+For a real-world example of using settings in your plugin, see the [Supertokens authentication plugin](https://github.com/amplication/plugins/blob/a94dac7956e51903df0240eef7b704999fc6a752/plugins/auth-supertokens/src/index.ts#L160).
+:::
+
+## Publish Your Plugin
+
+After adding a version to your plugin, configuring your plugin settings, and tagging your repository, it's time to publish your plugin. Publishing makes your plugin version available for use in services and templates, and sets it as the latest version.
+
+1. Go to your Platform Console
+2. Click on "Publish New Version" in your Platform Changes sidebar
+3. Add an optional version message
+4. Click **Publish** to make your changes available
+
+![Publish Your Platform Console Changes](./assets/private-plugins/publish-changes.png)
+
+## Use Private Plugins in Templates and Services
+
+You can use your private plugins in both templates and services, provided the code generator matches your plugin's code generator.
+
+### Include the Plugin in a Template
+
+1. Navigate to the Templates tab in your Platform Console
+2. Click on Create Template or navigate to an existing Template
+3. Ensure that your template's code generator matches your private plugin's code generator
+4. In your template's overview page, click on Plugins
+5. Go to the Private Plugins tab on the left sidebar
+6. Click Install on your private plugin
+
+### Include Plugin in a Service
+
+1. Navigate to your service in the Service Catalog
+2. Click on the Plugins tab
+3. Look for your private plugin in the Private Plugins section
+ :::note
+ Your plugin will only appear if its code generator matches your service's code generator
+ :::
+4. Click Install to add the plugin to your service
+
+![Include Plugin in a service](./assets/private-plugins/add-private-plugin-to-service.png)
+
+### Configure Plugin Settings
+
+1. Go to the Installed Plugins tab in the left sidebar
+2. Click Settings next to your private plugin
+3. Enter the JSON configuration that matches your plugin's user-facing settings
+
+## Best Practices and Common Pitfalls
+
+### Repository Management
+
+- Keep private plugins in a dedicated git repository separate from services
+- Maintain proper version control with meaningful commits
+
+### Code Generator Compatibility
+
+- Always match plugin and service code generators
+- Verify compatibility before starting development
+
+### Version Control
+
+- Use correct tag format: `PluginId@Version`
+- Always push tags to remote repository that match the tag you set in the UI
+
+### Code Generation Errors
+
+- Build failures during code generation: Review logs and ensure proper repository setup
+- Undefined property errors during code generation: Verify plugin versions and ensure the plugin is properly published
+- Dependency errors during service generation: Check `package.json` configuration
+
+## Next Steps
+
+You successfully created your private plugin.
+It's version-controlled in your Git repository and available for use in both templates and services that match its code generator.
+
+For more information or assistance:
+- Join our [Discord community](https://amplication.com/discord) for technical discussions and support
+- Enterprise customers can contact our support team through their designated support channels
diff --git a/docs/tutorials/react-todos/step-002.md b/docs/tutorials/react-todos/step-002.md
index cc2136d9..aabbe567 100644
--- a/docs/tutorials/react-todos/step-002.md
+++ b/docs/tutorials/react-todos/step-002.md
@@ -188,20 +188,25 @@ Make sure that you replace `first-service` with the name of the service that you
By doing this the Todo app UI will now run on port `5000` during development so it won't conflict with Amplication's default port for the server (which is `3000`).
- We've also set the start to script to run our frontend and backend code at the same time.
+ We've also set the `start` script to run our frontend and backend code at the same time.
-5. Before starting the server there are a few additional steps required. Read `server/README.md` for directions to:
+6. Before starting the server there are a few additional steps required. Read `server/README.md` for directions to:
- Create a Prisma client
- Start a database in Docker
- Initiate the database
-6. When those steps have been completed run the following command:
+7. When those steps have been completed run the following command:
```bash
npm run start
```
+> **Note:** If you encounter an error indicating that port `5000` is already in use, it means another software may be using the port, causing a conflict. This issue can be resolved by changing the port used for the frontend in `package.json`. Update the start script for the frontend to use a different port, for instance:
+> ```json
+> "start:frontend": "cross-env PORT=5001 npm --prefix web start",
+> ```
+
## Step 8 - Wrap Up
The frontend of the Todo app will be running at [http://localhost:5000/](http://localhost:5000/), and the backend will be running at [http://localhost:3000/](http://localhost:3000/).
diff --git a/docs/welcome.md b/docs/welcome.md
index 24dae9ad..eeeab1b9 100644
--- a/docs/welcome.md
+++ b/docs/welcome.md
@@ -1,54 +1,54 @@
---
id: welcome
-title: Get Started
-description: Master Amplication with in-depth developer guides, API details, and tutorials.
-sidebar_label: Introduction
+title: Amplication Documentation
+description: Learn how Amplication helps teams build and maintain standardized backend services while enforcing best practices and preventing technical debt.
+sidebar_label: Overview
slug: /
---
-# Get Started with Amplication
+# Amplication Documentation
-Welcome to Amplication's developer documentation!
+Amplication helps you scaffold, build, maintain, and scale backend services that align with your organization's best practices, supporting you throughout the entire development process.
-Amplication is an open-source, AI-powered code generation solution for rapid .NET and Node.js development. Unlike other AI code generation tools, Amplication is the only one that guarantees production-ready code generation for all your backend needs.
+Our platform combines live templates, AI-powered code generation, and proactive technical debt management to help teams quickly scaffold, create, maintain, and scale production-ready backend services while continuously enforcing organizational standards.
-## Quick Start
+## Quickstart
-[Create your first service](/first-service/) with Amplication's AI, Jovu, and generate a .NET or Node.js _production-ready codebase in minutes_.
+[Create your first service](/first-service/) with Amplication's AI, Jovu, and generate a _production-ready codebase in minutes_.
-## Customize Your Generated Service
+## Embed Your Organization's Best Practices
-Amplication transforms your ideas into production-ready code in minutes, but we're more than just a code generator. Our platform supports you throughout the entire development process.
+Define and maintain standardized development practices through live templates and private plugins, including code conventions, tools, architecture patterns and more.
+Create templates with pre-configured settings, code generator version, and plugins. When templates or plugins are updated, these changes are automatically proposed as pull requests to all dependent services, ensuring your standards continuously evolve across your entire service portfolio.
-Use these features to fine-tune and customize your service to your exact needs:
+- [**Live Service Templates**](/live-service-templates): Create and maintain standardized service architectures that automatically propagate best practices
+- **[Private Plugins](/private-plugins)**: Create organization-specific plugins for secure, internal functionality and standardization, or use [community plugins](/getting-started/plugins/) for common features. Support for security, deployment, monitoring, and more functionality.
+- [**Platform Console**](/platform-console): Centrally manage service standards and configurations
-- [Set up entities and fields](/set-up-entities/)
-- [Configure roles and permissions](/configure-roles-and-permissions/)
-- [Create and manage custom API endpoints and data structures](/custom-types-and-actions/)
-- [Extend capabilities with plugins](/add-plugins-service/)
-- [Commit changes and build](/commit-and-build-new-versions/)
+## Technical Debt Prevention
-## Key Features
+Track and manage technical debt through our [Platform Console](/platform-console) and Service Catalog.
+Monitor template versions, plugin updates, and dependency changes across all services.
+Receive automatic notifications when updates are available and get clear upgrade paths for outdated services.
+Maintain consistent standards across your entire service portfolio, with all changes tracked through version control.
-- **[AI-powered Development](/amplication-ai/)**: Generate production-ready .NET or Node.js code, get intelligent suggestions for your service's architecture, and more with Amplication AI.
-- **[Import Your Existing DB](/how-to/import-prisma-schema/)**: Use your _existing_ databases for a head start on development.
-- **[Full Stack Code Generation](/getting-started/)**: Fully-functional REST and GraphQL APIs, database models, authentication, logging, React Admin UI, and more.
-- **[Event-Driven Architecture](/concepts/event-driven-architecture/)**: Create new services with a modern architecture or modernize your existing apps into a event-driven microservices architecture.
-- **[Seamless Git Integration](/smart-git-sync/)**: Smart git sync with GitHub, Bitbucket, GitLab, or AWS CodeCommit.
-- **[Custom Code Integration](/custom-code/)**: Extend generated code with your own custom business logic.
-- **[Plugin System](/getting-started/plugins/)**: Extend functionality with our community plugins or create your custom plugins.
-- **[Multiple Databases](/getting-started/#databases)**: Support for PostgreSQL, MySQL, MongoDB, MS SQL Server, and more.
-- **Deployment & CI/CD**: Simplify and automate your CI/CD pipeline with our plugins and streamline deployments to popular options like [AWS ECS](/deploy/aws/ecs), [Docker Desktop](/deploy/docker-desktop/), and [Kubernetes](/deploy/kubernetes).
+## AI-powered Backend Generation
-## Tutorials and Samples
+Our AI assistant, Jovu, helps you rapidly generate production-ready backend services with built-in best practices. Generate complete service infrastructure including REST and GraphQL APIs, database models, authentication, and logging in minutes. Customize your services through our platform's intuitive interface while maintaining consistent standards.
-- Follow our [step-by-step tutorials](/tutorials/) to build real-world applications.
-- Explore our [sample applications](https://github.com/amplication/sample-app) on GitHub.
+- **[Jovu](/amplication-ai/)**: Generate production-ready code, get intelligent suggestions for your service's architecture, and more with Amplication AI.
+- **[Full Stack Code Generation](/getting-started/)**: Fully-functional REST and GraphQL APIs, database models, authentication, logging, React Admin UI, and more.
+- [Set up Entities and Fields](/set-up-entities)
+- [Configure API Endpoints](/custom-types-and-actions)
+- [Add Authentication and Authorization](/configure-roles-and-permissions)
-## Get Help
+## Developer Self-Service
-- Join our [Discord community](https://amplication.com/discord) for support and collaboration.
-- Check out our [YouTube channel](https://www.youtube.com/c/Amplicationcom) for video tutorials.
-- Read our [blog](https://amplication.com/blog) for in-depth articles and updates.
+Enable developers to quickly create standardized services through our Service Catalog.
+Leverage plugins to efficiently add functionality in a standardized way across services.
+Support for multiple database options to match your technology stack.
-Ready to revolutionize your backend development? Let's get started!
+- Service Catalog
+- **[Database Support](/getting-started/#databases)**: Support for PostgreSQL, MySQL, MongoDB, MS SQL Server, and more
+- **Deployment & CI/CD**: Plugins for streamlined deployment to [AWS ECS](/deploy/aws/ecs), [Docker Desktop](/deploy/docker-desktop/), [Kubernetes](/deploy/kubernetes) and more
+- **[Import Your Existing DB](/how-to/import-prisma-schema/)**: Use your existing databases for a head start on development
\ No newline at end of file
diff --git a/docusaurus.config.js b/docusaurus.config.js
index a76e5bed..7499b89d 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -8,6 +8,9 @@ module.exports = {
organizationName: "amplication", // Usually your GitHub org/user name.
projectName: "amplication", // Usually your repo name.
trailingSlash: true,
+ stylesheets: [
+ "https://fonts.googleapis.com/css?family=Poppins"
+ ],
themeConfig: {
metadata: [
{ name: "twitter:card", content: "summary_large_image" },
@@ -45,47 +48,31 @@ module.exports = {
href: "https://amplication.com/",
},
items: [
- {
- to: "/",
- position: "left",
- label: "Get Started",
- activeBaseRegex: '^/$'
- },
{
to: "/amplication-ai",
position: "left",
label: "AI",
},
{
- to: "/how-to/create-entity/",
- position: "left",
- label: "Entities"
- },
- {
- to: "/custom-types-and-actions",
+ to: "/platform-console/",
position: "left",
- label: "APIs",
+ label: "Platform Console",
},
{
- to: "/getting-started/",
+ to: "/service-catalog/",
position: "left",
- label: "Code Generation"
+ label: "Service Catalog",
},
{
- to: "/getting-started/plugins/",
+ to: "/live-service-templates",
position: "left",
- label: "Plugins",
+ label: "Live Templates",
},
{
- to: "/platform-console/",
+ to: "/private-plugins/",
position: "left",
- label: "Platform Console",
+ label: "Private Plugins",
},
- /* {
- to: "/deploy",
- position: "left",
- label: "Deploy",
- }, */
{
to: "https://app.amplication.com/login?event=startNowClicked&source=documentation",
label: "Start Now",
@@ -193,6 +180,7 @@ module.exports = {
editUrl: "https://github.com/amplication/docs/edit/main/",
showLastUpdateAuthor: true,
showLastUpdateTime: true,
+ breadcrumbs: false
},
blog: false,
theme: {
diff --git a/sidebars.js b/sidebars.js
index 7db544b6..152c5c70 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -1,21 +1,34 @@
const sidebars = {
someSidebar: [
+ // Static "Documentation" label
+ {
+ type: 'html',
+ value: '
',
+ defaultStyle: true,
+ },
+ {
+ type: 'doc',
+ id: 'welcome',
+ label: 'Overview',
+ },
+ {
+ type: 'doc',
+ id: 'getting-started/first-service',
+ label: 'Create Your First Service',
+ },
{
type: "category",
- label: "Get Started",
- link: {
- type: "doc",
- id: "welcome",
- },
+ label: "Platform Features",
items: [
- "welcome",
- "getting-started/first-service",
- "getting-started/set-up-entities",
- "getting-started/configure-roles-and-permissions",
- "getting-started/add-plugins-for-service",
"how-to/platform-console",
- "getting-started/add-custom-code",
- "getting-started/commit-changes-and-build-new-versions"
+ "how-to/service-catalog",
+ "how-to/live-service-templates",
+ "platform-features/technical-debt-management",
+ {
+ type: "doc",
+ id: "plugins/private-plugins",
+ label: "Private Plugins",
+ }
],
},
{
@@ -27,6 +40,8 @@ const sidebars = {
},
items: [
"getting-started/generated-app",
+ "getting-started/commit-changes-and-build-new-versions",
+ "getting-started/add-custom-code",
// "getting-started/service-building-new-versions",
"how-to/custom-code-overview",
"getting-started/view-generated-code",
@@ -192,8 +207,10 @@ const sidebars = {
"plugins/overview",
"plugins/plugin-architecture",
"plugins/how-to-create-plugin",
+ "plugins/define-plugin-settings",
"plugins/how-to-test-plugin",
"plugins/publish-plugin",
+ "plugins/private-plugins",
"plugins/plugin-events-before-after",
"plugins/context-skip-default",
"plugins/event-hierarchy",
@@ -259,7 +276,7 @@ const sidebars = {
},
{
type: "category",
- label: "Learn",
+ label: "Tutorials",
link: {
type: "doc",
id: "tutorials/index",
@@ -317,19 +334,20 @@ const sidebars = {
}
],
},
- {
- type: "category",
- label: "About",
- link: {
- type: "doc",
- id: "about/index",
- },
- items: [
- "about/licensing",
- "about/product-roadmap",
- "getting-started/phone-home",
- ],
- },
+
+ // {
+ // type: "category",
+ // label: "About",
+ // link: {
+ // type: "doc",
+ // id: "about/index",
+ // },
+ // items: [
+ // "about/licensing",
+ // "about/product-roadmap",
+ // "getting-started/phone-home",
+ // ],
+ // },
"faqs/faqs",
@@ -373,7 +391,7 @@ const sidebars = {
},
{
type: "category",
- label: "Contribute To Amplication",
+ label: "Contribute",
link: {
type: "doc",
id: "contributing",
diff --git a/src/css/custom.css b/src/css/custom.css
index 5da52c37..62962b24 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -208,8 +208,129 @@ article > header {
padding-bottom: var(--ifm-tabs-padding-vertical);
}
+/* Amplication Sidebar Header */
+.amplication-sidebar-header {
+ flex: 1;
+ line-height: 1.25;
+ font-size: 0.9rem;
+ margin: 0;
+ font-weight: 600;
+}
+
@media only screen and (max-width: 996px) {
.start-now-button {
display: none;
}
}
+
+.menu__link {
+ color: #B7BAC7;
+ font-size: 14px;
+}
+
+.menu__link.menu__link--active,
+.menu__link.menu__link--sublist.menu__link--active {
+ color: #FFF;
+}
+
+.markdown a, .markdown a:hover {
+ color: #53DBEE;
+}
+
+.navbar__link:hover, .navbar__link--active {
+ color: #53DBEE;
+}
+
+.markdown .alert a {
+ text-decoration-color: #53DBEE;
+}
+
+.theme-edit-this-page {
+ color: #53DBEE;
+}
+
+.pagination-nav__link:hover {
+ border-color: #53DBEE;
+}
+
+.pagination-nav__label {
+ color: #53DBEE;
+}
+
+.navbar__link {
+ font-size: 14px;
+}
+
+.navbar__logo img {
+ height: 82%;
+}
+
+@media only screen and (max-width: 995px) {
+ .navbar__logo img {
+ height: 90%;
+ }
+}
+
+.table-of-contents__link {
+ color: #B7BAC7;
+ font-size: 12px;
+}
+
+.table-of-contents__link.toc-highlight.table-of-contents__link--active,
+.table-of-contents__link:hover {
+ color: #FFF;
+}
+
+.breadcrumbs__link > svg > path {
+ fill: #B7BAC7;
+}
+
+.markdown h1:first-child {
+ font-size: 32px;
+ font-weight: 600;
+ line-height: 1.25rem;
+ margin-top: 1rem;
+}
+
+.markdown > h2 {
+ font-size: 18px;
+ font-weight: 600;
+ line-height: 1.25rem;
+}
+
+.markdown > pre,
+.markdown > ul,
+.markdown > ol,
+.markdown > p {
+ color: #D3D4DC;
+ font-size: 14px;
+ line-height: 1.25rem;
+}
+
+.markdown .theme-admonition {
+ font-size: 14px;
+}
+
+.markdown .theme-admonition a {
+ text-decoration: none;
+}
+
+.markdown .theme-admonition a:hover {
+ text-decoration: underline;
+}
+
+.menu__link--sublist-caret:after {
+ background: var(--ifm-menu-link-sublist-icon) 50% / 1.5rem 1.5rem
+}
+
+.menu__caret:before {
+ background: var(--ifm-menu-link-sublist-icon) 50% / 1.5rem 1.5rem
+}
+
+.menu::-webkit-scrollbar-track {
+ background-color: #15192C;
+}
+
+.menu::-webkit-scrollbar-thumb {
+ background-color: #373D57;
+}