This example shows how to implement a fullstack app in TypeScript with Next.js, MongoDB Atlas, and Prisma Client. It uses a MongoDB Atlas database with some initial dummy data.
Original source code: prisma/prisma-examples
Clone this repository:
git clone git@github.com:mongodb-developer/prisma-nextjs-example.gitInstall npm dependencies:
npm installIf you don’t already have a free MongoDB Atlas account, it's easy to sign up.
Rename the .env.example file to .env and add your MongoDB Atlas connection string.
Run the following command to create and seed your MongoDB Atlas database. This also creates the User and Post collections that are defined in prisma/schema.prisma:
npx prisma db seednpm run devThe app is now running, navigate to http://localhost:3000/ in your browser to explore its UI.
Expand for a tour through the UI of the app
Blog (located in ./pages/index.tsx)
Signup (located in ./pages/signup.tsx)
Create post (draft) (located in ./pages/create.tsx)
Drafts (located in ./pages/drafts.tsx)
View post (located in ./pages/p/[id].tsx) (delete or publish here)
You can also access the REST API of the API server directly. It is running on the same host machine and port and can be accessed via the /api route (in this case that is localhost:3000/api/, so you can e.g. reach the API with localhost:3000/api/feed).
/api/post/:id: Fetch a single post by itsid/api/feed: Fetch all published posts/api/filterPosts?searchString={searchString}: Filter posts bytitleorcontent
/api/post: Create a new post- Body:
title: String(required): The title of the postcontent: String(optional): The content of the postauthorEmail: String(required): The email of the user that creates the post
- Body:
/api/user: Create a new user- Body:
email: String(required): The email address of the username: String(optional): The name of the user
- Body:
/api/publish/:id: Publish a post by itsid
/api/post/:id: Delete a post by itsid
- Check out the Prisma docs
- Share your feedback in the
MongoDB Community




