eeeeeeeeeeeeee six seven !!!!!
|
|
преди 2 месеца | |
|---|---|---|
| docs | преди 2 месеца | |
| guides | преди 2 месеца | |
| prisma | преди 2 месеца | |
| public | преди 2 месеца | |
| scripts | преди 2 месеца | |
| src | преди 2 месеца | |
| uploads | преди 2 месеца | |
| .gitignore | преди 2 месеца | |
| README.md | преди 2 месеца | |
| components.json | преди 2 месеца | |
| ecosystem.config.js | преди 2 месеца | |
| env.sample.txt | преди 2 месеца | |
| eslint.config.mjs | преди 2 месеца | |
| middleware.ts | преди 2 месеца | |
| next.config.ts | преди 2 месеца | |
| package-lock.json | преди 2 месеца | |
| package.json | преди 2 месеца | |
| postcss.config.js | преди 2 месеца | |
| tailwind.config.js | преди 2 месеца | |
| tsconfig.json | преди 2 месеца |
Una plataforma web completa para asistente virtual médico construida con Next.js, TypeScript, TailwindCSS y shadcn/ui.
💡 Para una instalación rápida, consulta guides/QUICK_START.md
Clonar el repositorio
git clone https://github.com/GeoShaPoH/ani-assistant
cd ani-assistant
Instalar dependencias
npm install
Instalar y configurar PostgreSQL
Si no tienes PostgreSQL instalado:
Windows:
choco install postgresql
Crear la base de datos:
psql -U postgres
CREATE DATABASE ani_assistant;
\q
Copia el archivo env.sample.txt a .env:
cp env.sample.txt .env
Edita el archivo .env con tus valores:
# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key-here"
# Database (PostgreSQL)
DATABASE_URL="postgresql://postgres:tu-password@localhost:5432/ani_assistant"
# OpenRouter (para el chat médico)
OPENROUTER_API_KEY="tu-api-key-de-openrouter"
OPENROUTER_URL="https://openrouter.ai/api/v1"
OPENROUTER_MODEL="deepseek/deepseek-chat-v3-0324:free"
Nota:
tu-password con la contraseña de tu usuario PostgreSQLOPENROUTER_API_KEY, el chat funcionará con respuestas de fallbacknpm run check-env para verificar la configuraciónConfigurar la base de datos
# Verificar configuración
npm run check-env
# Generar el cliente de Prisma
npm run db:generate
# Crear las tablas en PostgreSQL
npm run db:push
# Configurar usuarios de prueba
npm run db:setup
Ejecutar el servidor de desarrollo
npm run dev
Abrir en el navegador
http://localhost:3000
id: String (CUID)name: Stringlastname: Stringusername: String (único, generado automáticamente)email: String (único)password: String (hash)role: Enum (ADMIN/DOCTOR/PATIENT)profileImage: String? (URL de la imagen)createdAt: DateTimeupdatedAt: DateTimeid: String (CUID)userId: String (referencia a User)content: String (reporte médico)messages: Json (opcional, mensajes del chat)createdAt: DateTimeNEXTAUTH_URL="https://your-domain.com"
NEXTAUTH_SECRET="your-production-secret-key"
DATABASE_URL="postgresql://user:password@host:5432/ani_assistant"
OPENROUTER_API_KEY="tu-api-key-de-openrouter"
Configurar el servidor
# Instalar Node.js
sudo apt update
sudo apt install nodejs npm
# Instalar PostgreSQL
sudo apt install postgresql postgresql-contrib
Configurar PostgreSQL
# Crear usuario y base de datos
sudo -u postgres psql
CREATE USER ani_user WITH PASSWORD 'your_password';
CREATE DATABASE ani_assistant OWNER ani_user;
GRANT ALL PRIVILEGES ON DATABASE ani_assistant TO ani_user;
\q
Desplegar la aplicación
# Clonar el repositorio
git clone <repository-url>
cd ani-assistant
# Instalar dependencias
npm install
# Configurar variables de entorno
cp env.sample.txt .env
# Editar .env con las configuraciones de producción
# Verificar configuración
npm run check-env
# Generar build de producción
npm run build
# Configurar base de datos
npm run db:push
npm run db:setup
# Iniciar la aplicación
npm start
Configurar PM2 (opcional)
npm install -g pm2
pm2 start npm --name "ani-assistant" -- start
pm2 startup
pm2 save
Para que el chat médico funcione con IA, necesitas configurar OpenRouter:
Registrarse en OpenRouter
Configurar la API key
OPENROUTER_API_KEY="tu-api-key" en tu archivo .envFuncionamiento sin API key
Para probar la aplicación, puedes usar los usuarios creados automáticamente:
admin@ani-assistant.comadmin123sadmin)ADMINdoctor@ani-assistant.comdoctor123dsistema)DOCTORpatient@ani-assistant.compatient123pprueba)PATIENTNota: Los usernames se generan automáticamente usando la primera letra del nombre + apellido. Si ya existe, se agrega un número (ej: pprueba1, pprueba2).
npm run dev # Servidor de desarrollo
npm run build # Build de producción
npm run start # Servidor de producción
npm run lint # Linting
npm run check-env # Verificar variables de entorno
npm run db:studio # Interfaz de Prisma
npm run db:push # Crear/actualizar tablas
npm run db:setup # Configurar usuarios de prueba
npm run db:seed # Cargar datos de ejemplo
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Este proyecto está bajo la Licencia Apache 2.0. Esta licencia proporciona:
Ver el archivo LICENSE para los términos completos.
La Licencia Apache 2.0 es ideal para proyectos que quieren:
Esta aplicación es para fines educativos y de demostración. No debe usarse para diagnóstico médico real sin la supervisión de profesionales médicos calificados.
Si tienes problemas o preguntas:
Desarrollado con ❤️ para la comunidad médica