supastarter for Next.js 14
This guide will walk you through setting up supastarter for Next.js (with app router). We will go through the process of cloning the project, installing dependencies, setting up your database and running the local development server.
Tools & libraries
Before we start I quickly want to go over the tools and libraries that supastarter uses.
- 🚀 TurboRepo (opens in a new tab) -> Monorepo
- 👨🏼💻 Next.js 14 with app router (opens in a new tab) -> React framework
- 💽 Prisma (opens in a new tab) -> ORM (Database access layer)
- 🔐 Lucia Auth (opens in a new tab) -> Authentication
- 💅🏼 Tailwind CSS (opens in a new tab) -> CSS framework
- 🧩 Radix UI (opens in a new tab) -> Headless components
- 📝 content-collections (opens in a new tab) -> MDX based CMS
- 💳 Stripe (opens in a new tab) or Lemonsqueezy (opens in a new tab) -> Payment processing
- 📫 React Email (opens in a new tab) -> Email templates in React
Prerequisites
Before you can get started, you will need to have the following installed on your machine.
- Node.js (opens in a new tab) (v20 or higher)
- Git (opens in a new tab)
- pnpm (opens in a new tab)
- VSCode (opens in a new tab) (recommended, or any other code editor)
Project setup
Create a new database
supastarter uses Prisma (opens in a new tab) as an ORM (database access layer). This means you can use any database supported by Prisma, including PostgreSQL, MySQL, SQLite, and MongoDB. You can find all supported databases here (opens in a new tab).
Before creating a new supastarter project, make sure to have created a new database and have the connection string ready. For example when using PostgreSQL, the connection string will look something like this:
postgresql://user:password@host:port/database
Recommended database providers are Supabase (opens in a new tab), PlanetScale (opens in a new tab) and Neon (opens in a new tab).
You can also find setup guides for certain providers in the supastarter blog (opens in a new tab):
Initialize a new supastarter project
During the setup process you will be asked to provide the following information:
- Project name - The name of your project
- Database provider - The database provider you are using
- Database connection string - The connection string of your database
To create a new supastarter project all you need to do is run the following command (replace my-awesome-project
with the name of your project):
npx supastarter new my-awesome-project
This will clone the supastarter repository, install all the dependencies and set up the database for you.
If you get any errors during the setup process, please try the manual setup instead.
Set up your storage provider
Storage is necessary to upload and serve files like images for example for the avatars of users and teams. supastarter supports multiple storage providers, so please ollow the instructions for your preferred provider:
Start your development server
Now your app should be ready to go. To start the local development server, navigate into your project root folder and run the following command.
pnpm dev
Open http://localhost:3000 (opens in a new tab) in your browser to see the your app.