Find your way through any codebase.
Taxonomy
An archived open-source demo SaaS built on the Next.js 13 App Router: a marketing site, MDX docs/blog, NextAuth login, a Prisma-backed post dashboard with an Editor.js editor, and Stripe-gated Pro subscriptions.
Start here
- Raise the free-plan post limit from 3 to 5Teaches how a business rule spans the API handler, the config copy and the client toast.
- app/api/posts/route.tsChange the `count >= 3` check in POST to `count >= 5`.
- config/subscriptions.tsUpdate freePlan.description to say the free plan is limited to 5 posts.
- components/post-create-button.tsxUpdate the 402 toast title to 'Limit of 5 posts reached.'
- Add a Guides link to the dashboard header navShows how nav menus are driven by typed config objects consumed by MainNav.
- config/dashboard.tsAppend `{ title: "Guides", href: "/guides" }` to dashboardConfig.mainNav.
- Tighten the display-name validation ruleDemonstrates that Zod schemas in lib/validations are shared by the client form and the API route.
- lib/validations/user.tsChange userNameSchema to `z.string().min(2).max(50)` (or add a regex) so both form and PATCH /api/users/[userId] pick it up.
- components/user-name-form.tsxVerify the inline errors.name.message still renders; optionally adjust the CardDescription copy to mention the new limits.