├── .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 |
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 | [](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 | 
2 |
3 | # Awesome Prisma
4 |
5 | [](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 | [](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 |
--------------------------------------------------------------------------------