├── .gitattributes ├── .github ├── FUNDING.yml └── workflows │ └── test.yaml ├── .travis.yml ├── LICENSE ├── awesome-prisma1.md ├── code-of-conduct.md ├── contributing.md ├── logo.svg ├── package.json └── readme.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | readme.md merge=union 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: catalinmiron # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: catalinmiron # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: http://buymeacoffee.com/catalinmiron # Replace with a single custom sponsorship URL 13 | -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- 1 | name: test 2 | on: push 3 | 4 | jobs: 5 | awesome-lint: 6 | runs-on: ubuntu-latest 7 | 8 | steps: 9 | - uses: actions/checkout@v2 10 | with: 11 | fetch-depth: 0 12 | - uses: actions/setup-node@v1 13 | with: 14 | node-version: '14.x' 15 | - run: npm install 16 | - run: npm test 17 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 'node' 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | CC0 1.0 Universal 2 | 3 | Statement of Purpose 4 | 5 | The laws of most jurisdictions throughout the world automatically confer 6 | exclusive Copyright and Related Rights (defined below) upon the creator and 7 | subsequent owner(s) (each and all, an "owner") of an original work of 8 | authorship and/or a database (each, a "Work"). 9 | 10 | Certain owners wish to permanently relinquish those rights to a Work for the 11 | purpose of contributing to a commons of creative, cultural and scientific 12 | works ("Commons") that the public can reliably and without fear of later 13 | claims of infringement build upon, modify, incorporate in other works, reuse 14 | and redistribute as freely as possible in any form whatsoever and for any 15 | purposes, including without limitation commercial purposes. These owners may 16 | contribute to the Commons to promote the ideal of a free culture and the 17 | further production of creative, cultural and scientific works, or to gain 18 | reputation or greater distribution for their Work in part through the use and 19 | efforts of others. 20 | 21 | For these and/or other purposes and motivations, and without any expectation 22 | of additional consideration or compensation, the person associating CC0 with a 23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright 24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work 25 | and publicly distribute the Work under its terms, with knowledge of his or her 26 | Copyright and Related Rights in the Work and the meaning and intended legal 27 | effect of CC0 on those rights. 28 | 29 | 1. Copyright and Related Rights. A Work made available under CC0 may be 30 | protected by copyright and related or neighboring rights ("Copyright and 31 | Related Rights"). Copyright and Related Rights include, but are not limited 32 | to, the following: 33 | 34 | i. the right to reproduce, adapt, distribute, perform, display, communicate, 35 | and translate a Work; 36 | 37 | ii. moral rights retained by the original author(s) and/or performer(s); 38 | 39 | iii. publicity and privacy rights pertaining to a person's image or likeness 40 | depicted in a Work; 41 | 42 | iv. rights protecting against unfair competition in regards to a Work, 43 | subject to the limitations in paragraph 4(a), below; 44 | 45 | v. rights protecting the extraction, dissemination, use and reuse of data in 46 | a Work; 47 | 48 | vi. database rights (such as those arising under Directive 96/9/EC of the 49 | European Parliament and of the Council of 11 March 1996 on the legal 50 | protection of databases, and under any national implementation thereof, 51 | including any amended or successor version of such directive); and 52 | 53 | vii. other similar, equivalent or corresponding rights throughout the world 54 | based on applicable law or treaty, and any national implementations thereof. 55 | 56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of, 57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and 58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright 59 | and Related Rights and associated claims and causes of action, whether now 60 | known or unknown (including existing as well as future claims and causes of 61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum 62 | duration provided by applicable law or treaty (including future time 63 | extensions), (iii) in any current or future medium and for any number of 64 | copies, and (iv) for any purpose whatsoever, including without limitation 65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes 66 | the Waiver for the benefit of each member of the public at large and to the 67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver 68 | shall not be subject to revocation, rescission, cancellation, termination, or 69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work 70 | by the public as contemplated by Affirmer's express Statement of Purpose. 71 | 72 | 3. Public License Fallback. Should any part of the Waiver for any reason be 73 | judged legally invalid or ineffective under applicable law, then the Waiver 74 | shall be preserved to the maximum extent permitted taking into account 75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver 76 | is so judged Affirmer hereby grants to each affected person a royalty-free, 77 | non transferable, non sublicensable, non exclusive, irrevocable and 78 | unconditional license to exercise Affirmer's Copyright and Related Rights in 79 | the Work (i) in all territories worldwide, (ii) for the maximum duration 80 | provided by applicable law or treaty (including future time extensions), (iii) 81 | in any current or future medium and for any number of copies, and (iv) for any 82 | purpose whatsoever, including without limitation commercial, advertising or 83 | promotional purposes (the "License"). The License shall be deemed effective as 84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the 85 | License for any reason be judged legally invalid or ineffective under 86 | applicable law, such partial invalidity or ineffectiveness shall not 87 | invalidate the remainder of the License, and in such case Affirmer hereby 88 | affirms that he or she will not (i) exercise any of his or her remaining 89 | Copyright and Related Rights in the Work or (ii) assert any associated claims 90 | and causes of action with respect to the Work, in either case contrary to 91 | Affirmer's express Statement of Purpose. 92 | 93 | 4. Limitations and Disclaimers. 94 | 95 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 96 | surrendered, licensed or otherwise affected by this document. 97 | 98 | b. Affirmer offers the Work as-is and makes no representations or warranties 99 | of any kind concerning the Work, express, implied, statutory or otherwise, 100 | including without limitation warranties of title, merchantability, fitness 101 | for a particular purpose, non infringement, or the absence of latent or 102 | other defects, accuracy, or the present or absence of errors, whether or not 103 | discoverable, all to the greatest extent permissible under applicable law. 104 | 105 | c. Affirmer disclaims responsibility for clearing rights of other persons 106 | that may apply to the Work or any use thereof, including without limitation 107 | any person's Copyright and Related Rights in the Work. Further, Affirmer 108 | disclaims responsibility for obtaining any necessary consents, permissions 109 | or other rights required for any use of the Work. 110 | 111 | d. Affirmer understands and acknowledges that Creative Commons is not a 112 | party to this document and has no duty or obligation with respect to this 113 | CC0 or use of the Work. 114 | 115 | For more information, please see 116 | 117 | -------------------------------------------------------------------------------- /awesome-prisma1.md: -------------------------------------------------------------------------------- 1 |
2 | awesome-lint 3 |
4 | 5 | Awesome 6 | 7 |

This is a collection of awesome resources about Prisma

8 |
9 | 10 | [Prisma](https://www.prisma.io/ 'Build a GraphQL server with any database') is a performant open-source GraphQL ORM-like layer doing the heavy lifting in your GraphQL server. It turns your database into a GraphQL API which can be consumed by your resolvers via GraphQL bindings. 11 | 12 | - :hammer: - Hands-on resources, like step-by-step tutorials 13 | - :open_book: - In-depth resources, like detailed articles 14 | - :eyes: - Examples and templates 15 | - :package: - Reusable software packages 16 | - :movie_camera: - Video tutorial 17 | 18 | ## Contents 19 | 20 | - [:books: General Resources](#books-general-resources) 21 | - [:mag: GraphQL Server Development](#mag-graphql-server-development) 22 | - [GraphQL Yoga](#graphql-yoga) 23 | - [Server Deployment](#server-deployment) 24 | - [GraphQL Resolvers](#graphql-resolvers) 25 | - [GraphQL Bindings](#graphql-bindings) 26 | - [Authentication](#authentication) 27 | - [Permissions](#permissions) 28 | - [Subscriptions](#subscriptions) 29 | - [File Handling](#file-handling) 30 | - [Error Handling](#error-handling) 31 | - [Multi-tenancy](#multi-tenancy) 32 | - [:small_red_triangle: Prisma Server Deployment](#small_red_triangle-prisma-server-deployment) 33 | - [:movie_camera: Video tutorials](#movie_camera-video-tutorials) 34 | - [:family_man_woman_girl_boy: Community](#family_man_woman_girl_boy-community) 35 | 36 | ## :books: General Resources 37 | 38 | - :hammer: [How to GraphQL](https://www.howtographql.com/ 'The Fullstack Tutorial for GraphQL') 39 | - :eyes: [Reference Example](https://github.com/graphcool/graphql-server-example 'GraphQL server example (Airbnb clone) using Prisma, `graphql-yoga` & `prisma-binding`.') 40 | - :eyes: [Example Collection](https://github.com/prisma/prisma-examples 'Wide range of generally useful examples.') 41 | - :eyes: [GraphQL Boilerplates](https://github.com/graphql-boilerplates/ 'Collection of production-ready GraphQL boilerplate projects.') 42 | - :hammer: [Quickstart](https://www.prisma.io/docs/get-started/01-setting-up-prisma-demo-server-JAVASCRIPT-a001/ 'The fastest way to get up and running with Prisma, for backend and frontend developers.') 43 | - :hammer: [Tutorials](https://www.prisma.io/tutorials/ 'Step-by-step tutorials and articles to help people get the most out of the Prisma ecosystem.') 44 | - :open_book: [What is Prisma](https://www.prisma.io/docs/understand-prisma/prisma-introduction-what-why-how-j9ff/#what-is-prisma) 45 | - :open_book: [Prisma Deep Dive Article](https://divu.in/prisma-deep-dive-3162dea2820c) 46 | - :eyes: [Prisma Shop Example](https://github.com/KATT/shop 'Full-stack React/Prisma/TS/GraphQL E-Commerce Example') 47 | - :eyes: [Boilerplate for a Fullstack GraphQL App with React & Prisma](https://github.com/alan345/naperg 'Node Apollo Prisma Express React GraphQL') 48 | - :eyes: [NestJS - Prisma - Apollo 2](https://github.com/awesome-graphql-space/server-nestjs 'Bootstrap your Nestjs Prisma app within seconds') 49 | - :eyes: [Graphql Microservice Starter](https://github.com/berstend/graphql-microservice-starter 'Nextgen backend stack using independent GraphQL services') 50 | - :package: [RAN-PRISMA : React . GraphQL . Next.js . Prisma Toolkit](https://github.com/mshameer/ran-with-prisma 'RAN-PRISMA : React . GraphQL . Next.js . Prisma Toolkit') 51 | - :open_book: [Prisma Docs Translated into Chinese](https://prisma.1wire.com/) 52 | - :eyes: [Fullstack Boilerplate using React Apollo Prisma Typescript](https://github.com/DylanMerigaud/react-prisma-typescript-fullstack) 53 | 54 | ## :mag: GraphQL Server Development 55 | 56 | ### GraphQL Yoga 57 | 58 | - :package: [GraphQL Yoga](https://github.com/prisma/graphql-yoga 'Fully-featured GraphQL Server with focus on easy setup, performance & great developer experience') 59 | - :hammer: [Build a GraphQL Server with Prisma and graphql-yoga](https://www.prisma.io/docs/get-started/03-build-graphql-servers-with-prisma-TYPESCRIPT-t201/) 60 | - :eyes: [Collection of GraphQL Yoga Examples](https://github.com/prisma/graphql-yoga/tree/master/examples) 61 | 62 | ### Server Deployment 63 | 64 | - :hammer: [Deploying a GraphQL Server with Apex Up](https://www.prisma.io/tutorials/deploy-a-graphql-server-with-apex-up-cs05/) 65 | - :hammer: [Deploying GraphQL Servers with Zeit Now](https://www.prisma.io/tutorials/deploy-a-graphql-server-with-zeit-now-cs04/) 66 | - :eyes: [Apex Up and GraphQL Yoga Example](https://github.com/maxdarque/up-graphql-yoga-server-example 'Tutorial on how deploy your graphql-yoga server on AWS Lambda with Apex Up') 67 | - :open_book: [Prisma Horizontal Scaling](https://techblog.commercetools.com/prisma-horizontal-scaling-a-practical-guide-3a05833d4fc3 'Prisma Horizontal Scaling: a practical guide') 68 | 69 | ### GraphQL Resolvers 70 | 71 | - :open_book: [Demystifying the `info` argument in GraphQL Resolvers](https://www.prisma.io/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/) 72 | - :open_book: [Different use cases for the `info` argument](https://www.prisma.io/forum/t/querying-specific-fields-in-db-from-local-service-with-prisma/2075/4) 73 | - :eyes: [Collection of common scenarios](https://github.com/graphql-boilerplates/node-graphql-server/issues/35) 74 | - :eyes: [Subscription Resolver Examples](https://github.com/prisma/prisma-binding/issues/78) 75 | - :open_book::hammer: [GraphQL Mutation Arguments Validation with Yup using graphql-middleware](https://medium.com/@jonathancardoso/graphql-mutation-arguments-validation-with-yup-using-graphql-middleware-645822fb748) 76 | 77 | ### GraphQL Bindings 78 | 79 | - :open_book: [Composing GraphQL APIs with GraphQL Bindings](https://www.prisma.io/blog/reusing-and-composing-graphql-apis-with-graphql-bindings-80a4aa37cff5/) 80 | - :package: [Prisma Binding](https://github.com/prisma/prisma-binding) 81 | - :package: [GraphQL Binding](https://github.com/graphql-binding/graphql-binding) 82 | 83 | ### Authentication 84 | 85 | - :eyes: [Email & Password Authentication Example](https://github.com/prisma/prisma-examples/tree/master/node/graphql-auth) 86 | - :hammer: [Authentication with GitHub OAuth2](https://medium.com/@maticzavadlal/graphcool-1-0-example-series-authentication-282f274b8343) 87 | - :eyes: [Facebook Authentication Example](https://github.com/harrisrobin/prisma-facebook-auth-example) 88 | 89 | ### Permissions 90 | 91 | - :open_book: [GraphQL Directive Permissions](https://www.prisma.io/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/) 92 | - :package: [GraphQL Shield](https://github.com/maticzav/graphql-shield) 93 | 94 | ### Subscriptions 95 | 96 | - :eyes: [Subscriptions Example](https://github.com/prisma/prisma-examples/tree/master/node/graphql-subscriptions) 97 | 98 | ### File Handling 99 | 100 | - :open_book: [File Handling with AWS S3, Prisma & graphql-yoga](https://www.prisma.io/forum/t/graphql-file-handling-with-aws-s3-prisma-graphql-yoga/2779) 101 | - :open_book: [Handling files with Amazon S3 and Prisma](https://medium.com/@maticzavadlal/graphcool-1-0-examples-series-file-api-3b16b4b8785f) 102 | 103 | ### Error Handling 104 | 105 | - :open_book: [Handling Errors in GraphQL](https://dev.to/andre/handling-errors-in-graphql--2ea3) 106 | 107 | ### Multi-tenancy 108 | 109 | - :hammer: [Building a multi-tenant application with Prisma](https://medium.zenika.com/building-a-multi-tenant-application-with-prisma-11bf890304d6) 110 | - :package: [prisma-multi-tenant](https://github.com/Errorname/prisma-multi-tenant) 111 | 112 | ## :small_red_triangle: Prisma Server Deployment 113 | 114 | - :hammer: [Local (Docker)]() 115 | - :hammer: [Digital Ocean (Docker Machine)](https://www.prisma.io/tutorials/deploy-prisma-to-digitalocean-with-docker-machine-ct06) 116 | - :hammer: [Digital Ocean (manual)](https://www.prisma.io/tutorials/deploy-prisma-to-digitalocean-ct12/) 117 | - :eyes: [Prisma Docker](https://github.com/maxdarque/prisma-docker) 118 | - :eyes: [Prisma Docker Compose](https://github.com/akoenig/prisma-docker-compose/) 119 | - :hammer: [Kubernetes](https://www.prisma.io/tutorials/deploy-prisma-to-kubernetes-ct13/) 120 | - :hammer: [Deployment to AWS EC2](https://www.graph.cool/forum/t/deployment-of-prisma-to-aws-ec2/2880?u=nilan) 121 | - :eyes: [Serverless Template](https://www.graph.cool/forum/t/minimal-serverless-prisma-project-template/2827?u=nilan) 122 | - :hammer: [AWS Fargate](https://www.prisma.io/tutorials/deploy-prisma-to-aws-fargate-ct14/) 123 | 124 | ## :movie_camera: Video tutorials 125 | 126 | - :movie_camera: [React Native and Prisma YouTube Tutorial Series](https://www.youtube.com/watch?v=nyE6shIRzxM&list=PLN3n1USn4xlmqhVdKMurNREwtiUpq-SFy 'Introduction for an eCommerce app built with React Native and Prisma GraphQL') 127 | - :movie_camera: [Build a ProductHunt GraphQL server with Prisma + GraphQL Yoga](https://www.youtube.com/watch?v=-n30pzgnkW0&list=PLs2PzMqLzi7Xmx44xTLfOBCwCAxVgQvE* 'Overview: Build a ProductHunt GraphQL server with Prisma + GraphQL Yoga') 128 | 129 | ## :family_man_woman_girl_boy: Community 130 | 131 | - [GitHub](https://github.com/prisma/prisma) 132 | - [Website](https://www.prisma.io) 133 | - [Docs](https://www.prisma.io/docs/) 134 | - [Tutorials](https://www.prisma.io/tutorials) 135 | - [Blog](https://www.prisma.io/blog/) 136 | - [Forum](https://www.prisma.io/forum/) 137 | - [Slack](https://slack.prisma.io/) 138 | - [Twitter](https://twitter.com/prisma) 139 | 140 | ## Contribute 141 | 142 | Contributions welcome! Read the [contribution guidelines](contributing.md) first. 143 | 144 | ## License 145 | 146 | [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](http://creativecommons.org/publicdomain/zero/1.0) 147 | 148 | To the extent possible under law, Catalin Miron has waived all copyright and 149 | related or neighboring rights to this work. -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at mironcatalin@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please note that this project is released with a 4 | [Contributor Code of Conduct](code-of-conduct.md). By participating in this 5 | project you agree to abide by its terms. 6 | 7 | - **To add to the list:** Submit a pull request 8 | - **To remove from the list:** Open an issue 9 | - If you find Prisma examples, articles, videos, packages or resources, you are welcome to submit a new section to the list following the `[Resource Name](link)` format. 10 | 11 | ## Reporting issues 12 | 13 | Please open an issue if you find anything that could be improved or have suggestions for making the list a more valuable resource. Thanks! 14 | -------------------------------------------------------------------------------- /logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "awesome-prisma", 3 | "scripts": { 4 | "test": "awesome-lint" 5 | }, 6 | "devDependencies": { 7 | "awesome-lint": "*" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ![Awesome Prisma](https://i.imgur.com/MQdCTuN.png) 2 | 3 | # Awesome Prisma 4 | 5 | [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 6 | 7 | ## Contents 8 | 9 | - [:tipping_hand_woman: About this List](#tipping_hand_woman-about-this-list) 10 | - [:books: Docs](#books-docs) 11 | - [:studio_microphone: Events](#studio_microphone-events) 12 | - [:safety_vest: Community Prisma Tools](#safety_vest-community-prisma-tools) 13 | - [:thinking: How Tos](#thinking-how-tos) 14 | - [:bird: Twitter](#bird-twitter) 15 | - [:trophy: Tutorials](#trophy-tutorials) 16 | - [:family_man_woman_girl_boy: Community](#family_man_woman_girl_boy-community) 17 | - [:space_invader: Projects Using Prisma](#space_invader-projects-using-prisma) 18 | - [Prisma 1](#prisma-1) 19 | 20 | ## :tipping_hand_woman: About this List 21 | 22 | This is a collection of **awesome resources** about [Prisma](https://www.prisma.io/ 'Modern Database Access for TypeScript & Node.js') :heart_eyes: 23 | 24 | **Prisma is an open-source ORM**. It makes database access easy with type safety and an auto-generated query builder for TypeScript & Node.js. 25 | 26 | ## :books: Docs 27 | 28 | - [Prisma Docs](https://www.prisma.io/docs/) 29 | - [Prisma Examples](https://github.com/prisma/prisma-examples) 30 | 31 | ## :studio_microphone: Events 32 | 33 | - [Prisma Day (remote)](http://prisma.io/day) 34 | - [GraphQL Meetup (remote)](https://www.meetup.com/graphql-berlin/) 35 | - [TypeScript Meetup (remote)](https://www.meetup.com/TypeScript-Berlin/) 36 | 37 | ## :safety_vest: Community Prisma Tools 38 | 39 | - [Prisma Audit Trails](https://github.com/BemiHQ/bemi-prisma) 40 | - [Prisma 2 Scratchpad](https://github.com/ctrlplusb/prisma2-template) 41 | - [nx-nest-graphql](https://github.com/beeman/nx-nest-graphql) 42 | - [Pal.js - CLI to start Prisma and GraphQl projects with just 2 commands](https://paljs.com) 43 | - [CRUD generator for nexus](https://paljs.com/generator/nexus) 44 | - [CRUD generator for graphql-modules](https://paljs.com/generator/graphql-modules) 45 | - [CRUD generator for sdl-first approach](https://paljs.com/generator/sdl) 46 | - [Prisma Select - solution for N + 1 issue](https://paljs.com/plugins/select) 47 | - [Prisma Delete - workaround missing cascade deletes function in prisma migration](https://paljs.com/plugins/delete) 48 | - [Prisma schema - convert schema.prisma file to javascript object or from Snake case to Camel case](https://paljs.com/cli/schema) 49 | - [Prisma admin React component](https://paljs.com/prisma-admin) 50 | - [Prisma plugin for the IntelliJ Platform](https://github.com/gabrielcolson/intellij-prisma) 51 | - [Gatsby with prisma-client](https://github.com/LekoArts/gatsby-with-prisma-client) 52 | - [Testing Prisma with PostgreSQL and Jest](https://github.com/ctrlplusb/prisma-pg-jest) 53 | - [Documentation Generator](https://github.com/pantharshit00/prisma-docs-generator) 54 | - [Schematics to add Prisma support to a NestJS application](https://github.com/marcjulian/nestjs-prisma) 55 | - [Prisma Schema SDL](https://github.com/amplication/prisma-schema-dsl) 56 | - [Multi-tenancy with Prisma](https://github.com/errorname/prisma-multi-tenant) 57 | - [Starter Template for NestJS and Prisma](https://github.com/fivethree-team/nestjs-prisma-starter) 58 | - [prisma-relay-cursor-connection](https://github.com/devoxa/prisma-relay-cursor-connection) 59 | - [Caching Prisma](https://github.com/joellefkowitz/cached-prisma) 60 | - [prettier-plugin-prisma](https://github.com/umidbekk/prettier-plugin-prisma) 61 | - [prisma-sequelize-generator](https://github.com/floydspace/prisma-sequelize-generator) 62 | - [Prisma Schema Sorter - sort schema models, enums, generators and datasources](https://github.com/omar-dulaimi/prisma-schema-sorter) 63 | - [Declarative Authorisation Middleware](https://github.com/joindeed/prisma-auth) 64 | - [NestJS and Prisma Yarn Monorepo Starter Template](https://github.com/alitnk/nest-prisma-monorepo) 65 | - [Prisma Redis Middleware - cache queries in Redis](https://github.com/Asjas/prisma-redis-middleware) 66 | - [Prisma Yup Generator - Prisma 2+ generator to emit Yup schemas from your Prisma schema](https://github.com/omar-dulaimi/prisma-yup-generator) 67 | - [Schemix - Generate Prisma Schemas with TypeScript](https://github.com/ridafkih/schemix) 68 | - [Prismock - Run tests in isolation with an in-memory implementation of Prisma](https://github.com/morintd/prismock) 69 | - [prisma-ast - A Builder object to programmatically query and edit your schema.prisma files](https://github.com/MrLeebo/prisma-ast) 70 | - [prisma-query-formatter - Substitute params and format queries for logging](https://github.com/s1owjke/prisma-query-formatter) 71 | 72 | ### :man_technologist: Prisma Clients 73 | 74 | - [Prisma Client Python](https://github.com/RobertCraigie/prisma-client-py) 75 | 76 | 77 | ### :gear: Schema Visualization Tools 78 | 79 | - [Prisma ERD Visualizer](https://github.com/skn0tt/prisma-erd) 80 | - [prisma-uml](https://github.com/emyann/prisma-uml) 81 | - [DBML Generator](https://github.com/notiz-dev/prisma-dbml-generator) 82 | - [Prisma ERD Generator](https://github.com/keonik/prisma-erd-generator) 83 | - [Prismaliser - Visualise your Prisma schema models and relations](https://prismaliser.app/) 84 | - [Archibase - Collaborative schema editor based on Prisma SDL](https://archibase.dev/) 85 | - [Prisma Editor - A powerful tool to visualize and edit Prisma Schema](https://github.com/mohammed-bahumaish/prisma-editor) 86 | - [`prisma-markdown` - Markdown generator, including ERD and descriptions](https://github.com/samchon/prisma-markdown) 87 | - [Hubql - Visualization platform with Prisma schema support](https://www.hubql.com/prisma) 88 | 89 | 90 | ## :thinking: How Tos 91 | 92 | - [How to GraphQL](https://www.howtographql.com/) 93 | - [PostgresQL Tutorials](https://www.prisma.io/tutorials/?tag=postgresql) 94 | 95 | ## :bird: Twitter 96 | 97 | - [Prisma](http://twitter.com/prisma) 98 | - [Nexus](http://twitter.com/nexusgql) 99 | 100 | ## :trophy: Tutorials 101 | 102 | - [Get started with Prisma v2. Prisma Client](https://egghead.io/playlists/get-started-with-prisma-v2-prisma-client-8bae) 103 | - [An Introduction to Prisma 2](https://blog.logrocket.com/an-introduction-to-prisma-2/) 104 | - [Static Sites with Next.js 9.3 and Prisma](https://leerob.io/blog/next-prisma) 105 | - [Using Prisma with GraphQL Codegen](https://medium.com/tomorrowapp/using-prisma-with-graphql-codegen-eed022c13749) 106 | - [Using Prisma in Azure Functions](https://swacblooms.com/using-prisma-in-azure-functions/) 107 | - [Building a sane Docker image for Typescript, Yarn Workspaces and Prisma 2](https://medium.com/@emilefugulin/building-a-sane-docker-image-for-typescript-lerna-and-prisma-2-76d8ff9926e4) 108 | - [Building a Backend for React with Next.js, Prisma 2, and PostgreSQL](https://www.youtube.com/watch?v=Bqacj0iOL68) 109 | - [Build A Pet Management System With Remix, Prisma, and Postgres](https://www.youtube.com/watch?v=wqyHGQlZcws&list=PLTnRtjQN5ieYu9SdwLvzKYFVtfqySY7FT) 110 | - [How To Write Efficient Unit Tests with Prisma ORM](https://medium.com/javascript-in-plain-english/how-to-write-efficient-unit-tests-with-prisma-orm-e9d8fdf43f5f) 111 | 112 | ### Tutorials with [Nexus](https://www.nexusjs.org/#/) 113 | - [Complete Introduction to Fullstack, Type-Safe GraphQL (feat. Next.js, Nexus, Prisma)](https://dev.to/prisma/complete-introduction-to-fullstack-type-safe-graphql-feat-next-js-nexus-prisma-c5) 114 | - [Improve Your GraphQL performance with Prisma](https://dev.to/ahmedelywa/improve-your-graphql-performance-with-prisma-2jia) 115 | - [Let's take Prisma 2 for a test drive on AWS Lambda with GraphQL](https://itnext.io/lets-take-prisma-2-for-a-test-drive-on-aws-lambda-with-graphql-%EF%B8%8F-f4be711e93cc) 116 | 117 | ### Tutorials with [NestJS](https://nestjs.com/) 118 | - [How to query your database using Prisma with NestJS](https://notiz.dev/blog/how-to-connect-nestjs-with-prisma) 119 | 120 | ## :family_man_woman_girl_boy: Community 121 | 122 | - [GitHub](https://github.com/prisma/prisma/) 123 | - [Website](https://prisma.io) 124 | - [Docs](https://prisma.io/docs/) 125 | - [Blog](https://prisma.io/blog) 126 | - [Slack](https://slack.prisma.io/) 127 | - [Twitter](https://twitter.com/prisma) 128 | 129 | ## :space_invader: Projects Using Prisma 130 | 131 | - [Calendso](https://github.com/calendso/calendso) 132 | - [Tottem](https://github.com/poulainv/tottem) 133 | - [Tomorrow](https://www.tomorrowapp.io/) 134 | - [Predict Covid](https://predictcovid.com/) 135 | - [NestJS Crud Prisma](https://github.com/silicon-hills/nestjs-crud-prisma) - Crud for restful api's built with NestJS and Prisma (uses [NestJSX CRUD](https://github.com/nestjsx/crud)) 136 | - [tRPC Prisma Starter](https://github.com/trpc/examples-next-prisma-starter) - Starter project with Prisma + Next.js + CI + testing + E2E type-safety using [tRPC](https://trpc.io) 137 | - [prisma-next-auth-graphql-starter](https://github.com/wangel13/prisma-next-auth-graphql-starter) - Fullstack starter with Prisma, next-auth, next.js, tailwindcss and graphql-shield 138 | - [Wasp](https://github.com/wasp-lang/wasp) Wasp is a declarative domain-specific language for developing, building, and deploying modern Javascript full-stack web apps with less code. 139 | - [Neighborhood Pet Manager](https://github.com/AustinGil/npm) 140 | - [Dotfyle](https://dotfyle.com) - Discover and share Neovim plugins 141 | 142 | ## Prisma 1 143 | 144 | This is the second iteration of the awesome Prisma and focuses on Prisma 2. 145 | Check out the [Awesome Prisma 1 list](awesome-prisma1.md) 146 | 147 | ## Contribute 148 | 149 | Contributions welcome! Read the [contribution guidelines](contributing.md) first. 150 | 151 | ## License 152 | 153 | [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](http://creativecommons.org/publicdomain/zero/1.0) 154 | 155 | To the extent possible under law, Catalin Miron has waived all copyright and 156 | related or neighboring rights to this work. 157 | --------------------------------------------------------------------------------