DEV Community


Posted on • Updated on

Creating a GuestBook in Next.js

To develop my Next.js and React skills, I decided to create a GuestBook.
This is what it looks like so far:

I've learnt how to:

  • use loops in React/JSX
  • use if statements in React
  • connect Next.js to MongoDB
  • make an API in Next.js
  • set/get cookies in Next.js

The features I've added are:

  • seeing all the messages
  • messaging on the guestbook
  • seeing the timestamp of the message
  • censoring all the messages
  • ratelimiting a user so they can only message once an hour

Features to come:

  • Adding OAuth: GitHub/Google/Replit
  • Deleting your own comment
  • Admins for the board so they can delete all comments
  • Ratelimit on username as well as browser

The GitHub repo is here, so contribute to help me on my Next.js journey!

VulcanWM's GuestBook

Welcome to VulcanWM's Guestbook project! This is a simple web application that allows users to sign in and leave messages for VulcanWM.

Any user can view all the messages sent, but users can only leave messages if they have logged in with their GitHub Account.


The Guestbook application is deployed using Vercel. You can access the deployed version of the application at VulcanWM's GuestBook.

Technologies Used

The Guestbook application was built using the following technologies:


The Guestbook project is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE.

Top comments (8)

vpgmackan profile image

This is actually relly cool. For the rate limit mabey try to rate limit the users ip. Just a suggestion.

vulcanwm profile image

this is a great suggestion! either create an issue on the github repo or ill do it tomorrow!

stcollier profile image
Samuel Collier • Edited

Yeah I was about to say, add a ratelimit; someone mean could super easily copy the fetch request from the dev tools and throw it into a loop in the console to flood that page.

devvsakib profile image
Sakib Ahmed


swargarajbhowmik profile image
Swargaraj Bhowmik

You can also add a Edit Feature and a feature that can pin messages to top! Also verify the text fields whether they contain NULL values or Not :D

vulcanwm profile image

Oh yea I’ll do that, thanks!

sonicx180 profile image


vulcanwm profile image