Skip to content

clerk/clerk-nextjs-onboarding-sample-app

Repository files navigation


Onboarding using Clerk (Sample App)

Discord Twitter

Clerk Hero Image

Introduction

Clerk is a developer-first authentication and user management solution. It provides pre-built React components and hooks for sign-in, sign-up, user profile, and organization management. Clerk is designed to be easy to use and customize, and can be dropped into any React or Next.js application.

The user onboarding flow plays a crucial role in your application development journey, and Clerk significantly simplifies this process with built-in tooling like customizable session data, middleware in the Next.js SDK.

This repo is a working implementation of a full stack Next.js app showcasing how to leverage Clerk for your user onboarding flow and includes the following:

  • Fully functional auth flow leveraging the Account Portal
  • Hooks for accessing user data and authentication state
  • Customized clerkMiddleware to leverage state for redirect

Demo

A hosted demo of this example is available at https://sample-onboarding-app.clerkpreview.com/

Running the template

git clone https://github.com/clerk/clerk-nextjs-onboarding-sample-app

To run the example locally, you need to:

  1. Sign up for a Clerk account at https://clerk.com.
  2. Go to the Clerk dashboard and create an application.
  3. Set the required Clerk environment variables
  4. pnpm install the required dependencies.
  5. pnpm dev to launch the development server.

Alternatively, to use npm instead of pnpm, first delete the pnpm-lock.yaml file and run npm install and npm run dev

Learn more

To learn more about Clerk and Next.js, check out the following resources:

Found an issue?

If you have found an issue with our documentation, please create an issue.

If it's a quick fix, such as a misspelled word or a broken link, feel free to skip creating an issue. Go ahead and create a pull request with the solution. 🚀

Connect with us

You can discuss ideas, ask questions, and meet others from the community in our Discord.

If you prefer, you can also find support through our Twitter, or you can email us!