# Ani Assistant Plataforma de asistente m茅dico virtual desarrollada con Next.js, TypeScript y PostgreSQL. Este sistema permite la gesti贸n de citas, expedientes m茅dicos y ofrece un asistente virtual basado en IA para pacientes. ## 馃殌 Caracter铆sticas - **Roles de Usuario**: - **ADMIN**: Gesti贸n total del sistema y usuarios. - **DOCTOR**: Gesti贸n de pacientes, citas y expedientes m茅dicos. - **PATIENT**: Acceso a chat m茅dico con IA, historial y citas. - **Funcionalidades**: - Chat inteligente con contexto m茅dico (integraci贸n OpenRouter). - Sistema de citas y calendario. - Registro diario de s铆ntomas y estado de 谩nimo. - Anal铆ticas y reportes. - Autenticaci贸n segura con NextAuth.js. ## 馃洜 Tech Stack - **Framework**: Next.js 15 (App Router) - **Lenguaje**: TypeScript - **Base de Datos**: PostgreSQL - **ORM**: Prisma - **Autenticaci贸n**: NextAuth.js - **UI**: TailwindCSS, shadcn/ui - **IA**: Vercel AI SDK, OpenRouter ## 馃搵 Prerrequisitos - Node.js 18+ - PostgreSQL 14+ - npm o pnpm ## 鈿欙笍 Configuraci贸n de Entorno 1. Copia el archivo de ejemplo: ```bash cp env.sample.txt .env ``` 2. Configura las variables cr铆ticas en `.env`: - `DATABASE_URL`: Tu cadena de conexi贸n a PostgreSQL. - `NEXTAUTH_SECRET`: Cadena aleatoria para firmar tokens. - `OPENROUTER_API_KEY`: API Key para el chat de IA. ## 馃捇 Desarrollo (Local) 1. **Instalar dependencias**: ```bash npm install ``` 2. **Configurar base de datos**: ```bash # Sincronizar esquema con la DB (solo desarrollo) npm run db:push # (Opcional) Cargar datos de prueba npm run db:setup ``` 3. **Iniciar servidor de desarrollo**: ```bash npm run dev ``` Visita `http://localhost:3000`. ## 馃殌 Producci贸n 鈿狅笍 **IMPORTANTE**: Sigue estos pasos para evitar p茅rdida de datos. 1. **Instalar dependencias de producci贸n**: ```bash npm ci ``` 2. **Migraciones de Base de Datos**: En producci贸n, **NUNCA** uses `db:push`. Usa `migrate deploy` para aplicar migraciones pendientes de forma segura. ```bash npm run db:deploy ``` 3. **Construir la aplicaci贸n**: ```bash npm run build ``` 4. **Iniciar servidor**: ```bash npm start ``` ## 馃摐 Scripts Disponibles - `npm run dev`: Inicia entorno de desarrollo. - `npm run build`: Compila para producci贸n. - `npm run start`: Inicia servidor de producci贸n. - `npm run db:push`: Sincroniza esquema (Dev - Prototipado r谩pido). - `npm run db:migrate`: Crea migraciones (Dev - Cambios de esquema). - `npm run db:deploy`: Aplica migraciones (Prod). - `npm run db:studio`: Interfaz visual para la base de datos. - `npm run check-env`: Verifica variables de entorno. ## 鈿狅笍 Disclaimer Este software es para fines educativos y demostrativos. **No debe ser utilizado como sustituto de consejo m茅dico profesional, diagn贸stico o tratamiento.**