Código fuente para el proyecto de chatbot médico IA de la Universidad Técnica de Babahoyo
Find a file
2026-01-22 20:05:06 -05:00
.claude implement analytics 2025-11-11 00:41:09 -05:00
prisma implement data consent form 2025-12-12 13:44:20 -05:00
public implement analytics 2025-11-11 00:41:09 -05:00
scripts try to fix doctor appointments 2025-12-16 10:44:52 -05:00
src i dont quite like it but it's better 2026-01-22 20:05:06 -05:00
uploads/photos_profile new start for sure 2025-10-07 15:36:31 -05:00
.gitignore new start for sure 2025-10-07 15:36:31 -05:00
components.json new start for sure 2025-10-07 15:36:31 -05:00
ecosystem.config.js new start for sure 2025-10-07 15:36:31 -05:00
env.sample.txt only use utb api for auth 2025-10-07 17:59:17 -05:00
eslint.config.mjs new start for sure 2025-10-07 15:36:31 -05:00
middleware.ts new start for sure 2025-10-07 15:36:31 -05:00
next.config.ts new start for sure 2025-10-07 15:36:31 -05:00
package-lock.json WHAT DO YOU MEAN INFORMATION DISCLOSURE 2026-01-12 07:50:14 -05:00
package.json WHAT DO YOU MEAN INFORMATION DISCLOSURE 2026-01-12 07:50:14 -05:00
postcss.config.js new start for sure 2025-10-07 15:36:31 -05:00
README.md update docs 2025-12-12 15:20:23 -05:00
tailwind.config.js new start for sure 2025-10-07 15:36:31 -05:00
tsconfig.json new start for sure 2025-10-07 15:36:31 -05:00

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:

    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:

    npm install
    
  2. Configurar base de datos:

    # 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:

    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:

    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.

    npm run db:deploy
    
  3. Construir la aplicación:

    npm run build
    
  4. 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.