Skip to content

TomDoesTech/indikit

Repository files navigation

Indikit Indikit

Indikit is a starter kit for building a SaaS application with Next.js, TailwindCSS, Shadcn/UI, tRPC, Lucia Auth, Drizzle ORM, and Stripe. It is designed to be a starting point for building a modern, scalable, and secure SaaS application.

Why?

I want a starter kit that is ready to deploy, has all the features that every app needs, and no more. I don't want to have to figure out what needs to be deleted before I can start building and I want the deployment solution to just work. IndiKit is ready to be cloned and deployed as-is.

Features

  • Deployable to CloudFlare pages
  • GitHub action for deployments
  • Subscription management
  • Email/password auth
  • PostHog analytics
  • Google OAuth
  • GitHub OAuth
  • Magic link auth

Technologies

Support

If you find any issues or have any suggestions, jump on to Discord or tag me on X.

This project is completely free to use with no restrictions, or warranties. If you want to support me you can buy me a coffee here.

Setup

Stripe

Create an account and a project in Stripe. Create a new product and price. Update the variables in the .env file. For links to the billing portal to work, you need to save the settings here: https://dashboard.stripe.com/test/settings/billing/portal

Turso

You can use any SQLlite database, but Turso is recommended because of it's simplicity and generous free tier. Sign up for an account, create a database and an auth token. Update the variables in the .env file.

Resend

Resend is used for sending emails. Sign up for an account and update the variables in the .env file.

CloudFlare Pages

You can easily deploy the application to CloudFlare Pages. Setup wrangler and run pnpm deploy. There is also a GitHub action that will deploy when you push to the main branch. You will need to configure the environment variables in the CloudFlare dashboard, set your account id and auth token in the GitHub action secrets.