MindBase is a Basecamp-inspired project management tool for Mindtech Solutions. Built with Next.js 15 (App Router), TypeScript, Tailwind CSS v4, shadcn/ui, and Supabase. Deployed on Netlify.
- Use App Router (
src/app/) — no Pages Router - All data fetching via TanStack Query (React Query)
- Supabase client: use
createBrowserClient()from@supabase/ssrfor client,createServerClient()from@supabase/ssrfor server - All API routes in
src/app/api/as Route Handlers - shadcn/ui for all base components — do NOT install other UI libraries
- Tailwind CSS v4 only — no CSS modules, no styled-components, no tailwind.config.ts (config via CSS)
- next-intl for i18n — all strings in
messages/{locale}.json - Lucide React for icons
- File naming: kebab-case for files, PascalCase for components
- Database types in
src/lib/supabase/types.ts— regenerate withnpx supabase gen types typescript - Always use TypeScript strict mode
- Prefer server components; use 'use client' only when needed (interactivity, hooks)
- Error handling: try/catch in API routes, return proper HTTP status codes
- All destructive actions require confirmation dialog
- Toast notifications for user feedback (success/error) via Sonner
- Activity logging: create activity record for every significant action
npm run dev— local development (Turbopack)npm run build— production buildnpm run lint— ESLintnpx supabase db push— push migrationsnpx supabase gen types typescript— regenerate DB types
- admin: full access
- team_member: access to assigned projects, can create/edit content
- client: read-only access to their project
- Default: English
- Supported: en, pt-BR
- All UI text must use translation keys, never hardcoded strings