Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nikolasburk/prisma-workshop


https://github.com/nikolasburk/prisma-workshop

Last synced: 14 days ago
JSON representation

Awesome Lists containing this project

README

        

# A Practical Introduction to Prisma

# Welcome

👋 Welcome to the **A Practical Introduction to Prisma** workshop.

# Prerequisites

In order to successfully complete the tasks in the workshop, you should have:

- [Node.js](https://nodejs.org/en/) installed on your machine (12.2.X / 14.X)
- It is recommended (but not required) to use [VS Code](https://code.visualstudio.com/) for the practical tasks

That's it 🙌 (*no prior knowledge about SQL or Prisma is required*)

This repository contains the starter project for the **Database Workflows & API Development with Prisma** workshop by [Nikolas Burk](https://twitter.com/nikolasburk).

## Setup

### 1. Clone this repository

You can clone this repository with the following command:

```
git clone [email protected]:nikolasburk/prisma-workshop.git
```

> Alternatively, you can also download the project via the GitHub UI. Click the green **Code**-button in the top-right corner and then click on **Download ZIP**.

### 2. Install dependencies

Navigate into the project directory and install the npm dependencies with the following command:

```
cd prisma-workshop
npm install
```

# What you'll do

In this workshop, you'll learn about various workflows that are useful to know when using Prisma.

You'll start by setting up Prisma with a SQLite database, learn about data modeling with Prisma and performing database migrations (*lesson 1*).

Then, you'll learn about Prisma Client, a type-safe *query builder* that can be used to query your database. You're going to explore various queries, from plain CRUD, to relation queries, to filters and pagination (*lesson 2*).

Next, you'll learn how you can use Prisma Client to implement the routes of a REST API (*lesson 3*).

Finally, we'll cover how you can use Prisma Client to implement the resolvers of a GraphQL API (*lesson 4*).

# Lessons

[1. Set up Prisma](./lesson-1.md)

[2. Explore Prisma Client](./lesson-2.md)

[3. REST API](./lesson-3.md)

[4. GraphQL API](./lesson-4.md)

# What does a lesson look like?

A *lesson* is structured in two parts:

1. **Host walkthrough:** At the beginning of each *lesson*, your host will walk you through the different *tasks* you'll encounter in this lesson. Please *be attentive* during that time and follow the host's explanations to be sure that you can accomplish the tasks yourself when you're working on them later. **Do not code along or work on the tasks yourself yet!** Instead, you can think of questions or raise anything that you don't understand (e.g. in the **Q & A** section of Zoom).
2. **Do it yourself:** Once the host is done showing and explaining the different tasks, you get dedicated time to work on the tasks yourself!

# Host

Hey there 👋 I'm [Nikolas](https://twitter.com/nikolasburk), a developer education enthusiast working at Prisma. I've been actively working with Prisma and database technologies over the past 4 years.

You can contact me via the following channels:

🐦 [`https://twitter.com/nikolasburk`](https://twitter.com/nikolasburk) (DMs open)

🐙 [`https://github.com/nikolasburk`](https://github.com/nikolasburk/)

📧 [`[email protected]`](mailto:[email protected])

# Code of Conduct

We want this workshop to be a delightful and enjoyable experience for *everyone*!

We dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter, Slack, and other online media. Conference participants violating these rules may be sanctioned, expelled, or blocked from the conference without a refund at the discretion of the conference organisers.

You can read the full version [here](https://github.com/prisma/Prisma-Day/blob/master/code-of-conduct.md).

# Want to host this workshop yourself?

Hosting workshops is incredibly fun! 😄 It's also a great way to deepen your understanding of the topics you're teaching and giving back to the community by sharing your knowledge.

The materials for this workshop are free to use and can be shared with anyone you know! If you want to host this workshop yourself and want some advice on how to get started, feel free to [reach out](mailto:[email protected]).

# Join the Prisma Discord

Join our lovely community on [Prisma Discord](https://pris.ly/discord).