finds.dev← search

// the find

adrianhajdin/project_next_14_ai_prompt_sharing

★ 2,959 · JavaScript · updated Jun 2024

Next.js recently became the official React framework as outlined in React docs. In this course, you'll learn the most important Next.js concepts and how they fit into the React ecosystem. Finally, you'll put your skills to the test by building a modern full-stack Next 14 application.

This is the companion repo for a JavaScript Mastery YouTube tutorial that walks through building a Next.js 14 CRUD app (Google auth via NextAuth, MongoDB via Mongoose, Tailwind UI) for sharing AI prompts. It's for developers learning App Router fundamentals — layouts, route handlers, server/client component boundaries — through a guided project rather than docs alone.

Route handlers are properly separated by HTTP verb with try/catch and correct status codes, which is a decent example of the App Router API convention for beginners to copy. The Mongoose connection uses a cached-connection pattern (via connectToDB) to avoid exhausting connections in serverless/dev hot-reload, a detail a lot of tutorials skip. Small footprint (MongoDB + NextAuth + Tailwind) makes it easy to read start to finish in an afternoon.

No tests at all, and no input validation on the API routes beyond a username regex on the schema — the PATCH/DELETE handlers trust params.id and body content directly with no ownership check, so any authenticated user could edit or delete another user's prompt by guessing an ID. findByIdAndRemove is deprecated in recent Mongoose versions and will throw or warn depending on the installed version, and the repo hasn't been touched since June 2024 so it hasn't tracked Next.js/NextAuth/Mongoose updates since. It's explicitly tutorial code (paired with a paid course upsell in the README), not something meant to be forked into a real product without a real auth/authorization pass.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →