A modern cannabis cultivation management system built with Next.js 15, focusing on type-safe operations, compliance tracking, and mobile-first usability.
- Next.js 15 with App Router for modern server-side rendering
- NextAuth.js 5 for Discord-based authentication
- Drizzle ORM with PostgreSQL for type-safe database interactions
- Strong type inference with
$inferInsert
and$inferSelect
- Standardized metadata handling
- Consistent audit fields
- Strong type inference with
- tRPC for type-safe APIs and simplified backend/frontend communication
- Protected procedures with session handling
- Standardized error handling
- Type-safe mutations
- Tanstack React Query for efficient data fetching and optimistic updates
- Automatic cache invalidation
- Optimistic updates for better UX
- Shadcn UI components with Tailwind CSS for responsive design
- User authentication with Discord
- Enhanced type safety across the stack
- Drizzle ORM type inference
- tRPC procedure validation
- Zod schema validation
- Core entity management
- Facilities and Areas
- Plants and Batches
- Notes with metadata
- Jobs and Tasks
- Enhanced note system
- Rich metadata support
- Entity relationships
- File attachments
- Creator tracking
- Type Safety Enhancements
- Standardized metadata interfaces
- Consistent type assertions
- Enhanced error handling
- Data Management
- Transaction support
- Batch operations
- History tracking
- UI/UX Improvements
- Mobile responsiveness
- Offline capabilities
- Performance optimization
- Node.js 18+
- PostgreSQL 14+
- pnpm package manager
# Install dependencies
pnpm install
# Set up environment
cp .env.example .env
# Push database schema
pnpm db:push
# Start development
pnpm dev
MIT