<p align="center">
    <img width="250" height="250" src="https://prisma-appsync.vercel.app/logo.png" alt="Prisma-AppSync" />
</p>

# Prisma-AppSync &middot; [![TypeScript](https://img.shields.io/badge/-TypeScript-2D3748?logo=typescript&colorA=0096ff&logoColor=fff)](/packages/client/src/) [![AWS AppSync](https://img.shields.io/badge/-AWS%20AppSync-2D3748?logo=amazon-aws&colorA=EB5F05&logoColor=fff)](https://aws.amazon.com/appsync/) [![Prisma](https://img.shields.io/badge/-Prisma%20Generator-2D3748?logo=prisma&colorA=5B67D8&logoColor=fff)](https://www.prisma.io)

**Prisma-AppSync** turns your [Prisma&#160;Schema](https://www.prisma.io) into a fully-featured GraphQL&#160;API, tailored for [AWS&#160;AppSync](https://aws.amazon.com/appsync/).

## ✔️ Features

💎 **Use your ◭ Prisma Schema**<br/>Quickly define your data model and deploy a GraphQL API tailored for AWS AppSync.

⚡️ **Auto-generated CRUD operations**<br/>Using Prisma syntax, with a robust TS Client designed for AWS Lambda Resolvers.

⛑ **Pre-configured security**<br/>Built-in XSS protection, query depth limitation, and in-memory rate limiting.

🔐 **Fine-grained ACL and authorization**<br/>Flexible security options such as API keys, IAM, Cognito, and more.

🔌 **Fully extendable features**<br/>Customize your GraphQL schema, API resolvers, and data flow as needed.

## 🚀 Getting started

Run the following command and follow the prompts 🙂

```shell
npx create-prisma-appsync-app@latest
```

## 📓 Documentation

[Read the documentation](https://prisma-appsync.vercel.app) to learn how to use Prisma-AppSync.

## 🙏 Contributors

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://sylvainsimao.fr"><img src="https://avatars.githubusercontent.com/u/4679377?v=4?s=100" width="100px;" alt="Sylvain"/><br /><sub><b>Sylvain</b></sub></a><br /><a href="#creator-maoosi" title="Creator & maintainer">🐙</a> <a href="https://github.com/maoosi/prisma-appsync/commits?author=maoosi" title="Code">💻</a> <a href="#ideas-maoosi" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/maoosi/prisma-appsync/commits?author=maoosi" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://bell.moe"><img src="https://avatars.githubusercontent.com/u/3979239?v=4?s=100" width="100px;" alt="Bell"/><br /><sub><b>Bell</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=Tenrys" title="Code">💻</a> <a href="#ideas-Tenrys" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://www.cipriancaba.com"><img src="https://avatars.githubusercontent.com/u/695515?v=4?s=100" width="100px;" alt="Ciprian Caba"/><br /><sub><b>Ciprian Caba</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=cipriancaba" title="Code">💻</a> <a href="#ideas-cipriancaba" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/tomschut"><img src="https://avatars.githubusercontent.com/u/4933446?v=4?s=100" width="100px;" alt="Tom"/><br /><sub><b>Tom</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=tomschut" title="Code">💻</a> <a href="#ideas-tomschut" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://ryanparker.dev"><img src="https://avatars.githubusercontent.com/u/17558268?v=4?s=100" width="100px;" alt="Ryan Parker"/><br /><sub><b>Ryan Parker</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=ryparker" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://www.cameronjjenkinson.com"><img src="https://avatars.githubusercontent.com/u/5429478?v=4?s=100" width="100px;" alt="Cameron Jenkinson"/><br /><sub><b>Cameron Jenkinson</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=cjjenkinson" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/jeremy-white"><img src="https://avatars.githubusercontent.com/u/42325631?v=4?s=100" width="100px;" alt="jeremy-white"/><br /><sub><b>jeremy-white</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=jeremy-white" title="Code">💻</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/max-konin"><img src="https://avatars.githubusercontent.com/u/1570356?v=4?s=100" width="100px;" alt="Max Konin"/><br /><sub><b>Max Konin</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=max-konin" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/michachan"><img src="https://avatars.githubusercontent.com/u/27760344?v=4?s=100" width="100px;" alt="Michael Chan"/><br /><sub><b>Michael Chan</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=michachan" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/nhu-mai/"><img src="https://avatars.githubusercontent.com/u/84061316?v=4?s=100" width="100px;" alt="Nhu Mai"/><br /><sub><b>Nhu Mai</b></sub></a><br /><a href="https://github.com/maoosi/prisma-appsync/commits?author=nhu-mai-101" title="Code">💻</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

Wanting to help? Get started with our [contribution guide](https://prisma-appsync.vercel.app/contributing.html) or consider [💛 Github sponsors](https://github.com/sponsors/maoosi).

## 🌟 Sponsors

**Thanks go to these wonderful sponsors!**

[![Kuizto — The Everyday Cooking App](https://prisma-appsync.vercel.app/sponsors/kuizto-banner.png "Kuizto — The Everyday Cooking App")](https://kuizto.co/?utm_source=prisma_appsync&utm_medium=github)

[Kuizto.co](https://kuizto.co/?utm_source=prisma_appsync&utm_medium=github) is a cooking app that adds a unique twist to everyday cooking. Netflix-like feed to explore tailored recipes. Get inspired by others, save to cooklists, plan instantly!
