Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: Amplication AI #479

Merged
merged 14 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/dictionary/en-custom.txt
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,6 @@ DALLE
frontends
Zustand
Supertokens
Bitwarden
Bitwarden
Jovu
Jovu's
12 changes: 9 additions & 3 deletions docs/getting-started/add-plugins-for-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ slug: /add-plugins-service

# Add Plugins To Your Service

Amplication's plugin system allows you to easily extend the capabilities of your service with new features, making it much faster to build the exact backend you want.
Amplication's [plugin system](/getting-started/plugins/) allows you to easily extend the capabilities of your service with new features, making it much faster to build the exact backend you want.

For example, the GitHub Actions plugin adds an actions workflow to the service for building and testing on GitHub. The OpenAI plugin allows you to integrate with the OpenAI API.

Expand All @@ -18,7 +18,13 @@ Authentication is a collection of plugins to provide you with auth functionality
Let's walk through the process of adding a new plugin to your service.
You'll see how fast and seamless the process is.

## Add the Prettier Plugin
:::tip
[Amplication's AI](/amplication-ai) can help you automatically install plugins, and give appropriate recommendations, with a single request.

Ask Jovu: `Can you install the Prettier plugin to my service to automatically format my code?`
:::

## Step 1: Add the Prettier Plugin

Prettier is a code formatter that automatically formats your code to ensure adherence to a consistent style.

Expand Down Expand Up @@ -56,7 +62,7 @@ Here's how those settings could look:

![Prettier Plugin Settings filled in](./assets/prettier-plugin-settings-filled-in.png)

## Switch Your Database Plugin (Optional)
## Step 2: Switch Your Database Plugin (Optional)

Amplication does not lock you into any specific database.
You can quickly switch your preferred database in just a few clicks with another plugin.
Expand Down
8 changes: 6 additions & 2 deletions docs/getting-started/commit-changes-and-build-new-versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,18 @@ Only committed changes will be included in the next version of your generated se

In this guide, you'll learn how to commit changes to your git provider and build new versions of your service.

:::tip
[Amplication's AI](/amplication-ai) can help you build new versions of your service and create commit messages with a single request.

Ask Jovu: `Can you build and commit my pending changes with the message "Added Task entity and updated Project entity"?`
:::

## Prerequisites

:::info
In order to proceed with this guide, please ensure you have completed at least the following:

1. [Set up your service](/first-service/) with our service creation wizard.
2. [Set up entities and entity fields](/set-up-entities/) for your service.
:::

## Step 1: Make Your First Commit

Expand Down
6 changes: 6 additions & 0 deletions docs/getting-started/first-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ Each service includes both REST and GraphQL APIs and comes with an interactive R

This guide will help you create your first service using our streamlined service creation onboarding 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?`
:::

## Prerequisites

First, [sign up](https://app.amplication.com/login) for an Amplication account with GitHub or your _business_ email address.
Expand Down
6 changes: 6 additions & 0 deletions docs/getting-started/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ The source code of all community Amplication plugins are [available on GitHub](h

Besides the community plugins created by the Amplication team, you can [develop your own custom plugins](/plugins/overview/).

:::tip
[Amplication's AI](/amplication-ai) can help you find new plugins for your service, and even install them automatically, with a single request.

Ask Jovu: `Which plugins do you recommend for adding caching capabilities to my Amplication service?`
:::

## Community Plugins List

You can view all community plugins on the _All Plugins_ page.
Expand Down
10 changes: 7 additions & 3 deletions docs/getting-started/set-up-entities.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,16 @@ This introductory guide will walk you through creating and configuring new entit

Let's get started.

## Prerequisites
:::tip
[Amplication's AI](/amplication-ai) can help you create new entities for your service, with all the necessary fields and relationships, with a single request.

:::info
If you haven't set up your service yet, [create your first service](/first-service/) using our Service Creation wizard.
Ask Jovu: `I need to create a Customer entity with fields for name, email, and phone number. Can you assist me?`
:::

## Prerequisites

- If you haven't set up your first service yet, [create one first](/first-service/) with Jovu or using our Service Creation Wizard.

## Step 1: Create an Entity

1. On your Service's _Overview_ page, click **Go to Entities**, or from the main menu (left sidebar) click the **Entities** icon.
Expand Down
148 changes: 148 additions & 0 deletions docs/how-to/amplication-ai-examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
---
id: amplication-ai-examples
title: Amplication AI Examples
sidebar_label: Examples
slug: /amplication-ai-examples
pagination_prev: how-to/amplication-ai
---

# Amplication AI Examples
PazYanoverr marked this conversation as resolved.
Show resolved Hide resolved
PazYanoverr marked this conversation as resolved.
Show resolved Hide resolved

Discover the power of Jovu (currently in Beta), [Amplication's AI assistant](/amplication-ai), through these practical examples showcasing how it can help you with your projects.

Jovu offers two main types of assistance:

1. **Direct task completion**: Jovu can perform specific actions for you, such as creating services, defining entities, configuring relations, and creating APIs.
2. **Helpful answers**: Jovu can provide you with relevant information and guidance in response to your questions.

Below, you'll find examples of tasks Jovu can accomplish and questions you can ask to get helpful answers. Each example includes a specific task or question and a sample response from Jovu. Feel free to use these as inspiration or copy and paste them directly into your Amplication dashboard to experience Jovu's assistance firsthand.

## Start New Projects

Jovu can kickstart new projects by setting up the initial project structure and configuration based on your requirements.

**Question**
```
I'm starting a new twitter clone project that will contain several micro-services. Can you help me create it?
```

![Create new projects with Jovu](./assets/amplication-ai/create-new-project.png)

## Create New Services

When [creating a new service](/first-service/), Jovu can help you automatically set up the basic structure with the necessary entities and fields.

**Question**
```
Can you create a new service for a blog application that will have posts, categories, authors, and comments?
```

![](./assets/amplication-ai/create-blog-service.png)
PazYanoverr marked this conversation as resolved.
Show resolved Hide resolved

## Create New Entities

Jovu can assist you in [creating new entities](/set-up-entities/) and specifying the required fields, making it easier to define your service's data models.

**Question**
```
I want to add product reviews to my E-Commerce service. Can you set up the structure for customer reviews, review ratings, and a way to link reviews to specific products?
```

![Create New Entities with Jovu, Amplication AI](./assets/amplication-ai/create-entities.png)

## Add Fields to Existing Entities

Jovu can help you extend your existing entities by adding new fields to capture additional data exactly how you need it.

**Question**:
```
For the authors in my BlogService, can you add a short bio section, a spot for a profile picture, and a place to include links to their social media profiles?
```

![Add Fields To Existing Amplication Entities](./assets/amplication-ai/create-entity-fields.png)

## Create New Modules

Jovu can assist you in creating [new custom modules](/custom-types-and-actions#modules) for your service to help you better organize your service and encapsulate related functionality.

**Question**
```
The checkout process is getting pretty complex for my E-commerce service. Is there a way to separate the checkout-related code from the rest of the application to keep things organized and manageable?
```

![](./assets/amplication-ai/create-new-module.png)
PazYanoverr marked this conversation as resolved.
Show resolved Hide resolved

## Create New Data Transfer Objects (DTOs)

Jovu can [create new DTOs](/custom-types-and-actions#dtos-and-enums) to shape the data structures used for input and output in your service's APIs.

**Question**
```
In the Checkout module, I need to define the data structure for the information required when a user initiates a payment. Could you help me create a DTO that includes the payment amount, the currecny, and the selected payment method?
```

![Create New Amplication DTOs](./assets/amplication-ai/create-new-dto.png)

## Create Custom Actions For Your Modules

Jovu will create [custom actions](/custom-types-and-actions#actions-1) (API endpoints) for your modules, so you can easily define the specific operations your service needs.

**Question**
```
Can you help me create an Action to handle the approval or rejection of a comment for my BlogService and any necessary DTOs?
```
![Create Custom Actions For Your Modules](./assets/amplication-ai/create-actions.png)

## Recommend Suitable Plugins

Jovu can analyze your project's requirements and suggest appropriate [plugins](/getting-started/plugins) to enhance your application's functionality and development workflow.

**Question**
```
For my BlogService, can you recommend some plugins to use for implementing a cache?
```

PazYanoverr marked this conversation as resolved.
Show resolved Hide resolved
![Recommendations For Amplication Plugins](./assets/amplication-ai/recommendations-for-plugins.png)

## Install Multiple Plugins

Jovu can provide insights and general guidance on integrating plugins, such as caching, prettifiers, or a variety of other [available plugins](/getting-started/plugins) into your Amplication project.

**Question**
```
I want to add authentication and caching to my service. Can you install the necessary plugins?
```

![Install Multiple Amplication Plugins](./assets/amplication-ai/install-multiple-plugins.png)

## Implement Authentication and Authorization

Jovu can guide you through the process of implementing authentication and authorization in your Amplication project, helping you secure your application and control access to resources.

**Question**
```
How can I implement user authentication and role-based access control in my Amplication project?
```

![](./assets/amplication-ai/implement-user-authentication.png)

## Update Your Git Provider

Jovu can help you with how to update your git provider to another supported provider like [GitHub](/sync-with-github), [AWS CodeCommit](/sync-with-aws-codecommit), and [Bitbucket](/sync-with-bitbucket).

**Question**
```
I'd like to update my git provider from GitHub to Bitbucket for my blog service. Can you help?
```

![Update Git Provider Information from Jovu](./assets/amplication-ai/update-git-provider.png)

## Build And Commit Your Project's Changes

Jovu can assist you in building your project and committing the generated code changes to your version control system.

**Question**
```
I've made several changes to my service. Can you build the project, commit these changes with the message "New entities for blog service."?
```
![Build And Commit Your Project Changes with Jovu, Amplication's AI](./assets/amplication-ai/build-and-commit-project.png)
62 changes: 62 additions & 0 deletions docs/how-to/amplication-ai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
id: amplication-ai
title: Amplication AI
sidebar_label: Overview
slug: /amplication-ai
pagination_next: how-to/amplication-ai-examples
---

# Amplication AI
PazYanoverr marked this conversation as resolved.
Show resolved Hide resolved

Amplication AI is a game-changing feature that revolutionizes code generation in Amplication.

In just a few minutes, and with a few requests, you can go from an idea to fully-functional, production-ready code. This includes data models, APIs, authentication, and all the other [essential components](/getting-started/#technologies) your service needs.

You can also easily make changes to your existing services. Change your service's architecture, add new entities, install plugins, or make any necessary adjustments, all while maintaining a high-quality codebase.

With Amplication AI (currently in Beta), you get production-ready code for all your services, no matter how many you need. The [generated code](/getting-started/view-generated-code/) is clean, follows best practices, and is ready for your developers to dive in and add the custom logic that will make your application unique.

Amplication AI opens up a world of possibilities for code generation. It empowers you to innovate and build applications faster than ever before.

At the heart of Amplication's AI capabilities is Jovu.

## What Is Jovu?

Jovu is a breakthrough AI assistant from Amplication designed to help you generate production-ready backend services.

Using the most sophisticated AI language models, Jovu helps you throughout your Amplication journey.
It can assist you with:

- Creating new projects, services, entities, fields, actions, APIs, and DTOs
- Navigating and using Amplication's features effectively
- Answering questions about Amplication and its capabilities
- Generating the production-ready code of your project and your pending changes, to review it in your git provider

Jovu comprehends the context of your conversation and your Amplication setup.
It offers personalized recommendations and creates production-ready code based on your requirements.

## How to Interact with Jovu

To begin using Jovu, open the chat interface within the Amplication platform.
You can ask Jovu questions or provide commands related to your Amplication projects. Jovu will respond based on its understanding of your context and provide the necessary assistance.

Here are some examples of what you can ask Jovu:

- `Create a new blog service with entities for posts, categories, authors, and comments`
- `Add a new review entity to the e-commerce service with fields for rating, comment, reviewer name, and product reference`
- `Build my project and generate the code for my pending changes so I can review it in GitHub`
- `Create a DTO for creating new orders with fields for customer ID, product IDs, and quantities`
- `Install the Google Secrets Manager plugin to help me handle secrets in my service`
- `Which plugins do you recommend for adding caching to my service?`

Feel free to explore and experiment with Jovu. It's designed to be a valuable asset in your Amplication workflow.

:::note
For more real world examples on how to effectively use Jovu, see the [Amplication AI Examples](/amplication-ai-examples) page.
:::

## Customize Your AI Experience

Jovu is enabled by default for your entire Amplication workspace, providing you with powerful AI assistance out of the box.

But, we understand every project is unique. If you prefer to have more manual control, or not use AI features, you can easily enable or disable Jovu via your workspace settings.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/how-to/assets/amplication-ai/new-service.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 8 additions & 2 deletions docs/premium-features/custom-types-and-actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,18 @@ pagination_next: api/index

Custom Types & Actions is an enhanced feature that gives you full control over your Data Transfer Objects (DTOs) and APIs. It offers a single source of truth for your APIs and DTOs, enabling fast creation of all your API endpoints and promoting standardization across your codebase.

:::note
The Custom Types & Actions feature is available for Amplication's **Enterprise** plan, including trial plans.
:::

Custom Types & Actions, currently in Beta, let you define custom data structures (Types), create API endpoints (Actions), and manage the relationships between them, all within the Amplication UI.

It allows you to automatically generate both the default CRUD operations and your custom APIs that utilize custom DTOs, all within your REST and/or GraphQL APIs. These changes are automatically translated into production-ready code in your repository, ensuring the best quality and efficiency.

:::note
The Custom Types & Actions feature is available for Amplication's **Enterprise** plan, including trial plans.
:::tip
[Amplication's AI](/amplication-ai) can help you automatically create new modules, enums, DTOs, and actions for your service with a single request.

Ask Jovu: `I need to create a DTO for creating new orders with fields for customer ID, product IDs, and quantities. Can you help me with that?`
:::

## What Are Types And Actions?
Expand Down
8 changes: 8 additions & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ const sidebars = {
}
]
},
{
type: "category",
label: "Amplication AI",
items: [
"how-to/amplication-ai",
"how-to/amplication-ai-examples"
]
},
{
type: "category",
label: "Sync With Git",
Expand Down
Loading