Manual installation
The easiest way to get started with AWS Amplify is through npm with create-amplify
, which is the workflow our quickstart recommends. However, for some use cases, it may be preferable to start from scratch, either with a brand new directory or an existing frontend app. This guide will walk you through how to initialize your project, install dependencies, and author your first backend.
Manual setup
First, if your frontend framework of choice doesn't have it already, create your project's package.json
with npm init -y
. Then, install the Amplify dependencies for building a backend:
1npm add --save-dev @aws-amplify/backend @aws-amplify/backend-cli typescript
Next, create the entry point for your backend, amplify/backend.ts
, with the following code:
1import { defineBackend } from '@aws-amplify/backend';2
3defineBackend({});
Now you can run npx amplify sandbox
to create your first backend!
You can use define*
functions to define your resources. For example, you can define authentication:
1import { defineAuth } from '@aws-amplify/backend';2
3export const auth = defineAuth({4 loginWith: {5 email: true6 }7});
Or define your data resource:
1import { a, defineData, type ClientSchema } from '@aws-amplify/backend';2
3const schema = a.schema({});4
5export type Schema = ClientSchema<typeof schema>;6export const data = defineData({7 schema8});
Each of these newly defined resources are then imported and set in the backend definition:
1import { defineBackend } from '@aws-amplify/backend';2import { auth } from './auth/resource.js';3import { data } from './data/resource.js';4
5defineBackend({6 auth,7 data8});
Upgrade existing projects
You can also update an existing frontend app. To upgrade existing Amplify code-first DX (Gen 2) apps, use your Node.js package manager (for example, npm
) to update relevant backend packages:
1npm update @aws-amplify/backend @aws-amplify/backend-cli
Next steps
We recommend the following next steps: