Go to file
Ahmed Darrazi 9b34f87bcb
All checks were successful
Trigger Cloudarix Deploy / call-webhook (push) Successful in 1s
Fix: Remove unused DefaultSession import
2025-12-05 23:39:18 +01:00
.github Workflow changed 2025-12-05 23:15:49 +01:00
.specify Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
.vscode Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
app Fix: Use subscription item's current_period_end (Stripe API v2) 2025-12-05 23:11:04 +01:00
components Fix: Import ThemeProviderProps from next-themes root 2025-12-05 23:16:43 +01:00
config Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
lib Fix: Remove unused DefaultSession import 2025-12-05 23:39:18 +01:00
public Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
specs/001-global-policy-search Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
.gitignore Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
components.json Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
Dockerfile Configured Azure AD and Dockerfile 2025-12-05 21:00:49 +01:00
drizzle.config.ts Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
eslint.config.mjs Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
kirimase.config.json Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
next-auth.d.ts Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
next.config.ts Configured Azure AD and Dockerfile 2025-12-05 21:00:49 +01:00
package-lock.json Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
package.json Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
postcss.config.mjs Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
README.md Feature: Global Search & Seed Data complete 2025-12-05 22:06:22 +01:00
tailwind.config.ts Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00
tsconfig.json Initial Setup für Dokploy 2025-11-18 23:24:41 +01:00

TenantPilot

A multi-tenant SaaS application built with Next.js, Azure AD authentication, and Drizzle ORM.

Architecture Principles

This project follows strict architectural principles defined in our Constitution:

  • Server-First: Next.js App Router with Server Actions, no client-side fetches
  • Type Safety: TypeScript strict mode mandatory
  • Database: Drizzle ORM exclusively
  • UI: Shadcn UI components with Tailwind CSS
  • Auth: Azure AD multi-tenant authentication

Getting Started

First, install dependencies:

npm install

Copy environment variables:

cp .env.example .env

Fill in your Azure AD credentials and database URL.

Run database migrations:

npm run db:push

Start the development server:

npm run dev

Open http://localhost:3000 to see the application.

Development

  • Use Server Actions for all data operations
  • Follow TypeScript strict mode requirements
  • Use Shadcn UI for new components
  • Test with Azure AD authentication

Deployment

Build the Docker image:

docker build -t tenantpilot .

Run with environment variables:

docker run -p 3000:3000 --env-file .env tenantpilot