Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/michaelshimeles/nextjs-starter-kit
- Owner: michaelshimeles
- License: mit
- Created: 2023-09-27T02:16:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-24T15:32:05.000Z (about 1 month ago)
- Last Synced: 2024-09-28T10:42:47.207Z (about 1 month ago)
- Topics: clerk, nextjs, nextjs-boilerplate, nextjs-starter-kit, nextjs-starter-saas, nextjs-template, nextjs14, starter-kit, supabase, upstash
- Language: TypeScript
- Homepage: https://starter.rasmic.xyz/
- Size: 1.43 MB
- Stars: 807
- Watchers: 15
- Forks: 183
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-shadcn-ui - Nextjs Starter Kit - The Ulimate Nextjs Starter Kit. Build your next SAAS product of your dreams. Batteries included. (Saas)
- jimsghstars - michaelshimeles/nextjs-starter-kit - The Ulimate Nextjs Starter Kit. Build your next SAAS product of your dreams. Batteries included. (TypeScript)
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)