Project Structure

SaaniCare is organized as a monorepo managed with pnpm workspaces and Turborepo.

Directory Structure

saanicare-monorepo/
├── apps/
│   ├── Core Portals
│   │   ├── parent-web/         # Next.js 16 (Desktop web for parents)
│   │   ├── parent-mobile/      # React Native + Expo (iOS/Android)
│   │   ├── teacher-web/        # Next.js 16 (Desktop)
│   │   ├── teacher-mobile/     # React Native + Expo (iPad)
│   │   ├── admin-web/          # Next.js 16 (Desktop/iPad)
│   │   ├── child-web/          # Next.js 16 (Child-friendly interface)
│   │   ├── school-district-web/# Next.js 16 (District management)
│   │   └── superadmin-web/    # Next.js 16 (Platform administration)
│   │
│   ├── Financial & Administrative
│   │   ├── accountant-web/     # Next.js 16 (Financial management)
│   │   └── registrar-web/      # Next.js 16 (Enrollment management)
│   │
│   ├── Health & Support
│   │   ├── health-counselor-web/      # Next.js 16 (Nurse & Counselor)
│   │   └── childcare-specialist-web/  # Next.js 16 (Development consultations)
│   │
│   ├── Operational
│   │   ├── transportation-web/ # Next.js 16 (Transportation management)
│   │   ├── librarian-web/      # Next.js 16 (Library management)
│   │   ├── receptionist-web/   # Next.js 16 (Front desk operations)
│   │   ├── cafeteria-web/       # Next.js 16 (Meal planning)
│   │   ├── it-coordinator-web/  # Next.js 16 (IT management)
│   │   └── facilities-web/      # Next.js 16 (Facility management)
│   │
│   ├── Mobile Apps
│   │   ├── driver-mobile/      # React Native (Bus driver app)
│   │   └── security-mobile/    # React Native (Security guard app)
│   │
│   ├── Other
│   │   ├── frontpage-web/      # Next.js 16 (Marketing site)
│   │   ├── docs-web/           # docmd (Documentation site)
│   │   └── api/                # Node.js + Express + Prisma
│   │
├── packages/
│   ├── ui-mobile/          # Shared React Native components
│   ├── ui-web/             # Shared React web components
│   ├── api-client/         # API client & React Query hooks
│   ├── types/              # Shared TypeScript types
│   ├── utils/              # Shared utilities
│   ├── config/             # Shared configs (ESLint, TS, Prettier)
│   └── algorithms/         # AI/LLM algorithms & curriculum logic
└── docs/                   # Documentation

Apps

Core Portals (Web)

  • parent-web: Desktop web application for parents
  • teacher-web: Desktop web application for teachers
  • admin-web: Administrative portal for school management
  • child-web: Child-friendly interface for students
  • school-district-web: District-wide management portal
  • superadmin-web: Platform-wide administration portal

Financial & Administrative Portals

  • accountant-web: Financial management, billing, and accounting
  • registrar-web: Student enrollment and academic records management

Health & Support Portals

  • health-counselor-web: Combined portal for nurses and counselors
  • childcare-specialist-web: Child development consultation management

Operational Portals

  • transportation-web: School transportation and route management
  • librarian-web: Library resource and reading program management
  • receptionist-web: Front desk operations and visitor management
  • cafeteria-web: Meal planning and cafeteria operations
  • it-coordinator-web: Technology infrastructure and user support
  • facilities-web: Building and facility maintenance management

Mobile Applications

  • parent-mobile: React Native app for iOS/Android (parents)
  • teacher-mobile: React Native app for iPad (teachers)
  • driver-mobile: React Native app for bus drivers
  • security-mobile: React Native app for security guards

Other Applications

  • frontpage-web: Marketing and landing pages
  • docs-web: Documentation website (this site, built with docmd)
  • api: Node.js API server with Express and Prisma

Packages

UI Components

  • ui-web: Shared React components for web apps
  • ui-mobile: Shared React Native components for mobile apps

Utilities

  • api-client: TypeScript API client with React Query hooks
  • types: Shared TypeScript type definitions
  • utils: Shared utility functions
  • config: Shared configuration files (ESLint, TypeScript, Prettier)

Business Logic

  • algorithms: AI/LLM algorithms for curriculum generation

Monorepo Benefits

  • Code Sharing: Shared components and utilities across all apps
  • Type Safety: Shared TypeScript types ensure consistency
  • Single Source of Truth: One place for shared logic and components
  • Efficient Builds: Turborepo caches and parallelizes builds
  • Consistent Tooling: Same linting, formatting, and build tools everywhere