An open source application built using the new router, server components and everything new in Next.js 13.
Find a file
2023-04-24 15:13:27 +04:00
.husky chore: add commitlint and prettier 2022-11-22 12:55:03 +04:00
app feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
assets/fonts feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
components feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
config feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
content feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
hooks feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
lib feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
prisma feat: upgrade to next 13.2 2023-03-03 19:17:05 +04:00
public feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
styles feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
types feat: upgrade to next 13.2 2023-03-03 19:17:05 +04:00
.commitlintrc.json chore: add commitlint and prettier 2022-11-22 12:55:03 +04:00
.editorconfig chore: add commitlint and prettier 2022-11-22 12:55:03 +04:00
.env.example refactor: remove unused postmark code 2022-12-05 15:29:30 +04:00
.eslintrc.json feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
.gitignore feat: contentlayer (#22) 2022-11-17 21:43:12 +04:00
.nvmrc deps: update node version 2022-11-04 08:18:35 +04:00
.prettierignore feat: upgrade to next 13.2 2023-03-03 19:17:05 +04:00
contentlayer.config.js feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
LICENSE.md feat: initial commit 2022-10-26 17:18:06 +04:00
middleware.ts feat: add from redirect for auth (#18) 2022-11-15 11:12:01 +04:00
next.config.mjs feat: contentlayer (#22) 2022-11-17 21:43:12 +04:00
package.json fix: update script 2023-04-24 15:13:27 +04:00
pnpm-lock.yaml feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
postcss.config.js feat: initial commit 2022-10-26 17:18:06 +04:00
prettier.config.js feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
README.md feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
tailwind.config.js feat: update to Next 13.3 2023-04-24 15:10:49 +04:00
tsconfig.json feat: upgrade to next 13.2 2023-03-03 19:17:05 +04:00

Taxonomy

An open source application built using the new router, server components and everything new in Next.js 13.

Warning

This app is a work in progress. I'm building this in public. You can follow the progress on Twitter @shadcn. See the roadmap below.

About this project

This project as an experiment to see how a modern app (with features like authentication, subscriptions, API routes, static pages for docs ...etc) would work in Next.js 13 and server components.

This is not a starter template.

A few people have asked me to turn this into a starter. I think we could do that once the new features are out of beta.

Note on Performance

Warning

This app is using the unstable releases for Next.js 13 and React 18. The new router and app dir is still in beta and not production-ready. Expect some performance hits when testing the dashboard. If you see something broken, you can ping me @shadcn.

Features

  • New /app dir,
  • Routing, Layouts, Nested Layouts and Layout Groups
  • Data Fetching, Caching and Mutation
  • Loading UI
  • Route handlers
  • Metadata files
  • Server and Client Components
  • API Routes and Middlewares
  • Authentication using NextAuth.js
  • ORM using Prisma
  • Database on PlanetScale
  • UI Components built using Radix UI
  • Documentation and blog using MDX and Contentlayer
  • Subscriptions using Stripe
  • Styled using Tailwind CSS
  • Validations using Zod
  • Written in TypeScript

Roadmap

  • Add MDX support for basic pages
  • Build marketing pages
  • Subscriptions using Stripe
  • Responsive styles
  • Add OG image for blog using @vercel/og
  • Dark mode

Known Issues

A list of things not working right now:

  1. GitHub authentication (use email)
  2. Prisma: Error: ENOENT: no such file or directory, open '/var/task/.next/server/chunks/schema.prisma'
  3. Next.js 13: Client side navigation does not update head
  4. Cannot use opengraph-image.tsx inside catch-all routes

Why not tRPC, Turborepo or X?

I might add this later. For now, I want to see how far we can get using Next.js only.

If you have some suggestions, feel free to create an issue.

Running Locally

  1. Install dependencies using pnpm:
pnpm install
  1. Copy .env.example to .env.local and update the variables.
cp .env.example .env.local
  1. Start the development server:
pnpm dev

License

Licensed under the MIT license.