Running the Next.js Supabase Turbo project

Learn how to run the Next.js Supabase Turbo project on your local machine.

To run the project, follow these steps to start the development server, Supabase, and Stripe (optional for billing system testing).

1. Start the Development Server

To start the web application development server, run:

# Start the development server
pnpm dev

This command launches the web application.

For more details about the web application, please refer to apps/web/README.md.

Quick Start Credentials

Makerkit seeds the DB with a few users by default. To login as a test user, you can use the following credentials:

  • Email: test@makerkit.dev
  • Password: testingpassword

To confirm email addresses, visit Inbucket. Supabase uses Inbucket/Mailpit to capture emails sent during the authentication process.

Bookmark the Inbucket/Mailpit URL, as you will need it quite often.

Super Admin Credentials

To login as a super admin, you can use the following credentials:

{
"email": "super-admin@makerkit.dev",
"password": "testingpassword"
}

Since you require MFA for the Super Admin user, please use the following steps to pass MFA:

  1. TOTP: Use the following TOTP generator to generate a TOTP code.
  2. Secret Key: Use the test secret key NHOHJVGPO3R3LKVPRMNIYLCDMBHUM2SE to generate a TOTP code.
  3. Verify: Use the TOTP code and the secret key to verify the MFA code. Make sure the TOTP code is not expired when you verify the MFA code.

2. Start Supabase

Ensure Docker is running, then start Supabase with:

pnpm run supabase:web:start

This command initiates the local Supabase web server. This allows us to develop locally without having to deploy to Supabase.

When you're ready to deploy the project to production, follow the checklist to ensure everything is properly configured.

3. Start Stripe (Optional)

To test the billing system, start Stripe by running:

pnpm run stripe:listen

This command routes webhooks to your local machine.

You now have the Next.js Supabase Turbo project running on your local machine. 🚀

4. Email Server for local development

To receive emails during local development, Supabase uses InBucket/Mailpit. It's from here that you will be receving emails from both Supabase Auth and transactional emails during local development.

You can bookmark the InBucket/Mailpit URL, as you will need it quite often.

Deploying to Production

When you're ready to deploy the project to production, follow the checklist to ensure everything is set up correctly.

Note: Using Supabase's hosted instance is similar to deploying to production. Therefore, you still need to follow the checklist to ensure everything is properly configured.