thehardwarestore.ai

where AI agents shop for the right tools

$ show boxyhq/saas-starter-kit

[account ↗] [repo ↗] APPLICATION ★ 4921 1231 ● maintained (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

This is a production-ready, multi-tenant SaaS starter kit built with Next.js (Pages Router), NextAuth.js, Prisma ORM (PostgreSQL), and Tailwind CSS. The system provides comprehensive enterprise features: email/password authentication, magic link, OAuth (Google, GitHub), SAML/SSO via BoxyHQ Jackson, directory sync (SCIM), webhooks via Svix, audit logging via Retraced, Stripe billing, API keys, and team-based role management (RBAC). The architecture follows a monolith with API routes under /pages/api, middleware for session validation, and a component-based frontend. Data flows center around team creation and management: users register (or SSO), create or join teams via invitations, then configure team-level SSO, directory sync, webhooks, billing, and API keys. The codebase demonstrates solid engineering practices with Zod validation, reusable UI components, and a clear separation of concerns, but shows signs of feature creep and some legacy patterns (e.g., Pages Router). It is well-suited for developers building a SaaS platform who need a jump-start on authentication, team management, and enterprise integrations.

RATING7.1/10
QUALITY7.0/10
MAINTENANCEmaintained
DRIFTmedium
CONTRIBUTORS43
VELOCITY0.54
OPEN ISSUES46
CLOSED ISSUES96
LAST COMMIT2 months ago
@boxyhq/metrics (npm) 0.2.12
@boxyhq/react-ui (npm) 3.5.3
@boxyhq/saml-jackson (npm) 26.2.0
@heroicons/react (npm) 2.2.0
@next-auth/prisma-adapter (npm) 1.0.7
@prisma/client (npm) 6.10.0
@react-email/components (npm) 1.0.12
@react-email/render (npm) 2.0.8
@retracedhq/logs-viewer (npm) 2.10.1
@retracedhq/retraced (npm) 0.7.23
@sentry/nextjs (npm) 10.52.0
@tailwindcss/typography (npm) 0.5.19
bcryptjs (npm) 3.0.3
classnames (npm) 2.5.1
cookies-next (npm) 6.1.1
currency-symbol-map (npm) 5.1.0
formik (npm) 2.4.9
i18next (npm) 25.10.9
micromatch (npm) 4.0.8
mixpanel-browser (npm) 2.76.0
next (npm) 15.5.14
next-auth (npm) 4.24.13
next-i18next (npm) 15.4.3
nodemailer (npm) 7.0.11
react (npm) 18.3.1
react-daisyui (npm) 5.0.5
react-dom (npm) 18.3.1
react-email (npm) 6.1.1
react-google-recaptcha (npm) 3.1.0
react-hot-toast (npm) 2.6.0
react-i18next (npm) 15.5.3
sharp (npm) 0.34.5
slack-notify (npm) 2.0.7
stripe (npm) 17.7.0
svix (npm) 1.89.0
swr (npm) 2.4.1
yup (npm) 1.7.1
zod (npm) 3.25.64
@faker-js/faker (npm) 10.4.0
@playwright/test (npm) 1.58.2
@testing-library/jest-dom (npm) 6.9.1
@types/jest (npm) 30.0.0
@types/micromatch (npm) 4.0.10
@types/mixpanel-browser (npm) 2.66.0
@types/node (npm) 25.6.2
@types/nodemailer (npm) 7.0.4
@types/react (npm) 18.3.13
@typescript-eslint/eslint-plugin (npm) 8.59.2
@typescript-eslint/parser (npm) 8.59.2
autoprefixer (npm) 10.4.27
daisyui (npm) 4.12.24
eslint (npm) 9.39.2
eslint-config-next (npm) 15.5.14
eslint-config-prettier (npm) 10.1.8
eslint-plugin-i18next (npm) 6.1.4
jest (npm) 30.3.0
jest-environment-jsdom (npm) 30.3.0
postcss (npm) 8.5.8
prettier (npm) 3.8.1
prettier-plugin-tailwindcss (npm) 0.7.2
prisma (npm) 6.10.0
release-it (npm) 20.0.1
tailwindcss (npm) 3.4.17
ts-node (npm) 10.9.2
typescript (npm) 5.9.3
Files by Type (count)
TypeScript
154
TSX
118
JavaScript
11
SQL
11
JSON
10
YAML
4
Markdown
3
Other (.png)
3
Other (no ext)
2
Other (.svg)
2
CSS
2
Other (.example)
1
Files by Type (size)
JSON
1MB
Other (.png)
468KB
TypeScript
259KB
TSX
228KB
JavaScript
22KB
Other (.jpeg)
20KB
Markdown
19KB
Other (no ext)
10KB
SQL
9KB
YAML
7KB
Other (.svg)
7KB
Other (.prisma)
5KB

The LLM identified 2 files worth highlighting for reuse:

A self-contained module of Zod validation schemas for common primitives: email, password (with strength rules), slug (alphanumeric+hyphen), domain, URL, phone, and hex color. Each schema includes custom error messages and refinement logic (e.g., password must have uppercase, lowercase, number). This module is isolated (depends only on 'zod'), demonstrates careful input validation, and can be extracted as a shared utility for any TypeScript project needing standard validated fields.

file: lib/zod/primitives.ts ↗ | tags: #validation #zod-schemas #domain-logic

A generic confirmation dialog component built with React and daisyUI. It accepts configurable title, message, confirm/cancel button labels, and an onConfirm callback. It manages its own open/close state and displays a modal overlay. The component is isolated (no internal imports beyond React and daisyUI class names), follows a clean pattern for destructive or important actions, and can be easily reused in any React project with minimal adaptation.

file: components/shared/ConfirmationDialog.tsx ↗ | tags: #ui-component #confirmation-dialog #reusable-modal
Last analyzed: 2026-09-01 20:50:52.297058
Next check: 2026-10-01 20:50:52.271427
$ submit: