Been sourcing as much of Next.js I can to become a better NExt.js developer. Took this course to see if anything outside of what I know about Next.js I could improve. Here are my notes:
- Version: This uses Next 14 not Next 15
- nav-links: In the video it utilizes
clsx
yet this function exists in utils lib. Why not just go over that there? - uses Shadcn: The following are really from Shadcn located in
ui/components/
:- avatar
- button
- dropdown-menu
- connectToDB: await is outside try/catch and should return
null
- Postgres No longer avail in Vercel but utilizes marketplace Postgres solutions
- tailwind.config.ts: uses
require
when it should useimport
- root layout: doesn't use
inter
so removed - Home page: invalid Tailwind on line 10,
text-4xlfont-bold
should betext-4xl font-bold
taking away from the 5 star review:
- .5: This doesn't implement any form of testing
- .5: Biased in regards to all projects should use prettier and the package.json defining the Node engine. Found it interesting that this project utilized TypeScript but it's not taking advantage of
paths
when the API was written. - .5: This course is a few months old and utilized Next.js 14 when Next.js 15 is out. While it's noteworthy to mention
npx create-next-app
for tutorials think it should always mention how to install the version used in the tutorial to prevent headaches:[email protected]
. If someone is taking a Next.js course for the first time this lack of information is going to cause them to possibly hate Next.js from how they do their releases. - .5: Bad practice of component naming. For a beginner course this teaches very bad habits, example:
- In blog > about > page.tsx utilizes a function name of
Page
when it be better named asAboutPage
. - In blog > contact > page.tsx it's also named
Page
when it would serve better asContactPage
. Also why does the contact page import React when you don't have to in Next.js? - In blog > layout.tsx it's named as
Layout
when it would serve it better named asBlogLayout
. - The posts > Post is named
Component
and imports React, why, it's not a client component?
- In blog > about > page.tsx utilizes a function name of
Overall this is a disappointing course on the simple level this is a walk-through video of the free Next.js Learn course and you're charging a membership to something that is open source.