Welcome to the world of Test Next.js 13, where innovation is in progress! ๐
Ever wondered what goes on behind the scenes of this exciting project? Dive deep into the mysteries by exploring our meticulous roadmap and accomplishments.
๐ Intrigued? Uncover the details here: Project Roadmap and Achievements
Get ready to embark on a journey of web development like no other. Your curiosity is your guide.
node - 18.11.0
next - 13.3.0
(app/dir)
react - 18.2.0
## Supabase
```js
import { startServerAndCreateNextHandler } from '@as-integrations/next';
import { ApolloServer } from '@apollo/server';
// import { gql } from 'graphql-tag';
const resolvers = {
Query: {
hello: () => 'world',
},
};
// const typeDefs = gql`
// type Query {
// hello: String
// }
// `;
const typeDefs = `#graphql
type Query {
hello: String
}
`;
const server = new ApolloServer({
resolvers,
typeDefs,
});
const handler = startServerAndCreateNextHandler(server);
export { handler as GET, handler as POST };
```
install missing dependencies
```
npm i @as-integrations/next
```
You can access server on `localhost:3000/api/graphql`
How to Update schema.prisma
After making changes/update schema.prisma
ex,
```prisma
model Quote {
id String @id @default(uuid())
title String
image String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
owner Owner[]
}
model Owner {
id String @id @default(uuid())
name String
Quote Quote? @relation(fields: [quoteId], references: [id])
quoteId String?
LifeLesson LifeLesson? @relation(fields: [lifeLessonId], references: [id])
lifeLessonId String?
}
```
type in terminal and push to supabase to sync new schema
```bash
npx prisma db push
```
DONE! ๐
How to Create PrismaClient
[https://www.prisma.io/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices](https://www.prisma.io/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices)
Add below snippet in file `/app/prisma/db.ts` file
```js
import { PrismaClient } from '@prisma/client'
const prismaClientSingleton = () => {
return new PrismaClient()
}
declare global {
var prisma: undefined | ReturnTypeHow to install Apollo Server
[https://www.apollographql.com/docs/apollo-server/getting-started](https://www.apollographql.com/docs/apollo-server/getting-started)
```js
npm install @apollo/server graphql
```
How to integrate Apollo Server with App Router
[https://github.com/apollo-server-integrations/apollo-server-integration-next](https://github.com/apollo-server-integrations/apollo-server-integration-next)
Add below snippet in `app/api/graphql/route.ts` file.