---
title: "Taxonomy"
description: "SaaS application and docs built using Next.js 13 and the app directory."
url: "https://vercel.com/templates/next.js/taxonomy"
links:
  repository: "https://github.com/shadcn/taxonomy"
  demo: "https://tx.shadcn.com"
  deploy: "https://vercel.com/new/clone?demo-title=Taxonomy&demo-description=SaaS+application+and+docs+built+using+Next.js+13+and+the+app+directory.&demo-url=https%3A%2F%2Ftx.shadcn.com&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F7JXp4iZTDnbmaiEVlQQrm0%2F0b6b441e2c576e4292bfeedfdede849d%2F50f106ee-4f24-46f2-ae48-70c9105bb06e.png&project-name=Taxonomy&repository-name=taxonomy&repository-url=https%3A%2F%2Fgithub.com%2Fshadcn%2Ftaxonomy&from=templates&skippable-integrations=1"
---

# Taxonomy

SaaS application and docs built using Next.js 13 and the app directory.

> [!NOTE]
> This project has been officially archived and will no longer receive updates. See the [Templates](https://vercel.com/templates/next.js) directory for Next.js starters.
> 
> I started this project when the Next.js App Router was in public preview. Because the framework has since stabilized and undergone significant architectural changes, the code in this repository:
> - Does not reflect current best practices.
> - May contain deprecated APIs or patterns.
> - Is not recommended for use in production environments.

# Taxonomy

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

## 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. 

## 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

- [x] ~Add MDX support for basic pages~
- [x] ~Build marketing pages~
- [x] ~Subscriptions using Stripe~
- [x] ~Responsive styles~
- [x] ~Add OG image for blog using @vercel/og~
- [x] 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'](https://github.com/prisma/prisma/issues/16117)~
3. ~[Next.js 13: Client side navigation does not update head](https://github.com/vercel/next.js/issues/42414)~
4. [Cannot use opengraph-image.tsx inside catch-all routes](https://github.com/vercel/next.js/issues/48162)

## 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:

```sh
pnpm install
```

2. Copy `.env.example` to `.env.local` and update the variables.

```sh
cp .env.example .env.local
```

3. Start the development server:

```sh
pnpm dev
```

## License

Licensed under the [MIT license](https://github.com/shadcn/taxonomy/blob/main/LICENSE.md).

## Related Templates

### [Next.js App Router Playground](https://vercel.com/templates/next.js/app-directory)

Examples of many Next.js App Router features.

### [Next.js Boilerplate](https://vercel.com/templates/next.js/nextjs-boilerplate)

Get started with Next.js and React in seconds.

### [Monorepo with Turborepo](https://vercel.com/templates/next.js/monorepo-turborepo)

Learn to implement a monorepo with a two Next.js sites that has installed three local packages.

---

## Additional documentation

The [Vercel Knowledge Base](https://vercel.com/kb) contains guides and answers to common questions about Vercel, including deployment, framework configuration, domains, caching, and troubleshooting.
