| .claude | ||
| prisma | ||
| public | ||
| scripts | ||
| src | ||
| uploads/photos_profile | ||
| .gitignore | ||
| components.json | ||
| ecosystem.config.js | ||
| env.sample.txt | ||
| eslint.config.mjs | ||
| middleware.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| tailwind.config.js | ||
| tsconfig.json | ||
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
-
Copia el archivo de ejemplo:
cp env.sample.txt .env -
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)
-
Instalar dependencias:
npm install -
Configurar base de datos:
# Sincronizar esquema con la DB (solo desarrollo) npm run db:push # (Opcional) Cargar datos de prueba npm run db:setup -
Iniciar servidor de desarrollo:
npm run devVisita
http://localhost:3000.
🚀 Producción
⚠️ IMPORTANTE: Sigue estos pasos para evitar pérdida de datos.
-
Instalar dependencias de producción:
npm ci -
Migraciones de Base de Datos: En producción, NUNCA uses
db:push. Usamigrate deploypara aplicar migraciones pendientes de forma segura.npm run db:deploy -
Construir la aplicación:
npm run build -
Iniciar servidor:
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.