# Technical Documentation - rooSports

## Project Overview
rooSports is a modern, responsive youth sports management platform built for Monash FIT3048 Industry Experience (Team 135).

## System Architecture & Tech Stack (Option 02)
- **Frontend Framework**: Next.js 16 (App Router, React 19, TypeScript)
- **Styling**: Tailwind CSS v4 (Mobile-first responsive design, dark mode, dynamic animations)
- **Database & ORM**: Prisma ORM with PostgreSQL / MySQL database
- **3D Graphics**: Three.js & `@react-three/fiber` for interactive sports visuals
- **Animation**: GSAP and Lottie-web for high-impact micro-animations

## Key Application Directories (`Development/src/`)
- `src/app/(portal)`: Protected application routes for parents, coaches, and organizers (Dashboard, Booking, Events, Family management, Checkout flow)
- `src/app/login` & `src/app/onboarding`: User authentication & onboarding portal
- `src/app/about`: Public platform overview page
- `src/components`: Modular UI components (AppShell, BasketballScene, LottieBasketballScene, EventCard, CheckoutFlow)
- `src/lib`: Core utility logic including `security.ts` (Password complexity checks), `privacy.ts` (Child data masking), and `traceability.ts` (AI audit logging)

## Security & Privacy Policies
- **Password Security**: Enforces minimum 8 characters, at least one uppercase letter, one number, and one special character (`security.ts`).
- **Child Data Privacy**: Public views replace actual child names with anonymized nicknames or masked IDs (`privacy.ts`).
