ContentDetailed description of the section content.
Installation
We will continue using the same project as in your tutorials and previous lectures in this section and the following sections. Please download it from your forked repository (instructions here )
Instructions
- Complete all the user requirements below
- Cover each user requirement by end-to-end test (tag each test by “@prisma”)
- If necessary, cover utility code and component code with unit or integration tests
- Commit and push the code
- Make sure all tests pass
- Commit and push your code to your repository
Setup
In this section, we will play with Prisma , please install both needed packages:
pnpm i prisma @prisma/clientYou will also need access to a Mongodb and Postgres database. We recommend you create an account with Mongodb and Vercel or Neon:
Prisma Schema
Please use this schema:
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model Post {
id Int @id @default(autoincrement())
title String
content String
date DateTime
tags Tag[] @relation("PostTags")
}
model Tag {
id Int @id @default(autoincrement())
name String @unique
posts Post[] @relation("PostTags")
}System Requirements
All branches:
- Cache database requests with 1 hour update interval
- Preload blog post when hovering over the link
Git Branch - “Main”
- I want to obtain the list of posts from the database using Prisma
- I want to obtain a filtered list of posts from database based on tags using Prisma
- I want to show the list of available tags using Prisma
- I want to obtain a filtered list of posts from the database based on tags
- I want to show the list of available tags
- I want to be able to like the post
- I want to update post