Frequently asked questions about ignitionstack.pro.
ignitionstack.pro is a complete boilerplate for building SaaS apps with Next.js 15, Supabase, Stripe, and other modern tech. It provides a solid base with auth, payments, an admin dashboard, i18n, and more.
| Categoria | Tecnologia |
|---|---|
| Framework | Next.js 15 (App Router) |
| Backend | Supabase (Postgres, Auth, Storage) |
| Payments | Stripe |
| Styling | Tailwind CSS |
| i18n | next-intl |
| Analytics | GA4 + Mixpanel |
| Resend | |
| Testing | Vitest + Testing Library |
Not necessarily. The boilerplate is designed to be accessible. If you know React and understand TypeScript basics, you can work with it. The docs cover the specifics of each integration.
# Clone the repository
git clone https://github.com/ignitionstackpro/ignitionstack.pro.git meu-projeto
# Enter the directory
cd meu-projeto
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env.local
# Start the development server
npm run devSee the installation guide for more details.
At minimum you need:
# Supabase (required)
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000For specific features:
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRETRESEND_API_KEYNEXT_PUBLIC_GA_MEASUREMENT_ID.env.localnpx supabase db pushSee the full Supabase guide.
All configurable from the Supabase Dashboard under Authentication → Providers.
Middleware already protects /admin/*. Unauthenticated users are redirected to /login.
// src/middleware.ts
if (request.nextUrl.pathname.startsWith('/admin') && !user) {
return NextResponse.redirect(new URL('/login', request.url))
}.env.localSee the Stripe guide.
Use Stripe’s test cards:
4242 4242 4242 42424000 0025 0000 31554000 0000 0000 9995Yes! The boilerplate supports:
By default: Portuguese (pt), English (en), Spanish (es).
src/i18n/messages/{locale}.jsonsrc/i18n/config.ts// src/i18n/config.ts
export const locales = ['en', 'pt', 'es', 'fr'] as const// src/i18n/config.ts
export const defaultLocale = 'pt'src/app/[locale]/(pages)/minha-pagina/page.tsx/pt/minha-pagina# Estrutura recomendada
src/app/components/
└── MeuComponente/
├── index.tsx
├── MeuComponente.tsx
└── MeuComponente.test.tsx// src/app/actions/minha-action.ts
'use server'
export async function minhaAction(data: FormData) {
// Logic here
return { success: true }
}The boilerplate works best on:
No. The project uses serverless functions and can run on the free tiers of Vercel + Supabase.
NEXT_PUBLIC_APP_URL in your env vars# Clear caches
rm -rf .next node_modules
npm install
npm run buildUsually caused by:
STRIPE_WEBHOOK_SECRET