Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/michaelshimeles/nextjs-starter-kit

The Ulimate Nextjs Starter Kit. Build your next SAAS product of your dreams. Batteries included.
https://github.com/michaelshimeles/nextjs-starter-kit

clerk nextjs nextjs-boilerplate nextjs-starter-kit nextjs-starter-saas nextjs-template nextjs14 starter-kit supabase upstash

Last synced: 26 days ago
JSON representation

The Ulimate Nextjs Starter Kit. Build your next SAAS product of your dreams. Batteries included.

Awesome Lists containing this project

README

        

# Getting Started

## Prerequisites
- Node.js and yarn/bun installed
- Accounts and API keys for:
- Supabase
- Stripe (if using payments)
- Clerk (if using authentication)

## Setup

1. Clone the repository:
```
git clone
cd
```

2. Install dependencies:
```
yarn
```

3. Set up environment variables:
Create a `.env` file in the root directory with the following variables:
```
SUPABASE_URL=
SUPABASE_SERVICE_KEY=

# If using Stripe
STRIPE_SECRET_KEY=
NEXT_PUBLIC_STRIPE_PRICE_ID=

# If using Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
```

4. Configure features:
In `config.ts`, set the desired features:
```typescript
const config = {
auth: {
enabled: true, // Set to false if not using Clerk
},
payments: {
enabled: true, // Set to false if not using Stripe
}
};
```

5. Set up the database:
Run Prisma migrations:
```
npx prisma migrate dev
```

6. Start the development server:
```
yarn dev
```

7. Open your browser and navigate to `http://localhost:3000` to see your application running.

## Additional Configuration

- Webhooks: Set up webhooks for Clerk (if using auth) at `/api/auth/webhook` and for Stripe (if using payments) at `/api/payments/webhook`.
- Customize the landing page, dashboard, and other components as needed.
- Modify the Prisma schema in `prisma/schema.prisma` if you need to change the database structure.

## Important Security Notes

- Enable Row Level Security (RLS) in your Supabase project to ensure data protection at the database level.
- Always make Supabase calls on the server-side (in API routes or server components) to keep your service key secure.

## Learn More

Refer to the documentation of the individual technologies used in this project for more detailed information:
- [Next.js Documentation](https://nextjs.org/docs)
- [Tailwind CSS Documentation](https://tailwindcss.com/docs)
- [Supabase Documentation](https://supabase.io/docs)
- [Prisma Documentation](https://www.prisma.io/docs)
- [Clerk Documentation](https://clerk.dev/docs) (if using auth)
- [Stripe Documentation](https://stripe.com/docs) (if using payments)