Skip to content

aldairg-dev/pharma-guide-backend

Repository files navigation

PharmaGuide Backend

Version Node.js TypeScript Express.js Prisma PostgreSQL JWT Swagger Gemini AI Redis

Plataforma Educativa Inteligente para Química Farmacéutica

PharmaGuide Backend v1.7.0 es una API REST avanzada con inteligencia artificial integrada y sistema de cache optimizado, diseñada para estudiantes de Química Farmacéutica. Proporciona información automatizada sobre medicamentos mediante IA y herramientas inteligentes de aprendizaje.

Versión actual v1.7.0: Sistema completo de Identificación del Fármaco
Ver documentación de versión →

Documentación Completa

📖 Centro de Documentación - Documentación completa organizada por categorías

Enlaces Rápidos

Índice Rápido

Características Principales

Inteligencia Artificial

  • Sistema modular de IA para información médica automatizada
  • Contraindicaciones, Indicaciones, Mecanismo de Acción
  • Clase Terapéutica y Dosificación
  • Arquitectura escalable para nuevas funcionalidades

Sistema de Cache Redis

  • Cache específico por funcionalidad
  • TTL de 7 días configurado
  • Degradación elegante sin Redis disponible
  • Consultas optimizadas

API REST Robusta

  • ** Arquitectura escalable** con Express.js y TypeScript
  • ** Validación completa** con middleware personalizado
  • ** Documentación automática** con Swagger/OpenAPI 3.0
  • ** Seguridad avanzada** con JWT y rate limiting

🎓 Plataforma Educativa

  • ** Planes de estudio adaptativos** por usuario
  • ** Gestión completa de medicamentos** con información detallada
  • 👥 Sistema de usuarios y roles con permisos granulares
  • ** Seguimiento de progreso** académico personalizado

Stack Tecnológico

Core Technologies

  • Node.js >= 18.x - Runtime de JavaScript
  • Express.js ^5.1.0 - Framework web rápido y minimalista
  • TypeScript ^5.8.3 - Tipado estático y desarrollo moderno
  • Prisma ORM ^6.8.2 - ORM moderno para TypeScript y Node.js
  • PostgreSQL >= 14 - Base de datos relacional robusta

Inteligencia Artificial

  • Google Gemini AI ^0.21.0 - Procesamiento de información médica
  • Gemini 2.0 Flash - Modelo optimizado para contenido farmacéutico

Performance & Cache

  • Redis - Cache distribuido y optimización de consultas
  • ioredis - Cliente Redis avanzado para Node.js

Seguridad & Autenticación

  • JWT ^9.0.2 - Autenticación basada en tokens
  • bcrypt ^5.1.1 - Hash seguro de contraseñas
  • Rate Limiting - Protección contra abuso de API

Ver stack completo y configuración →


##  Inicio Rápido

###  Instalación en 3 Pasos

```bash
# 1. Clonar e instalar
git clone https://github.com/aldairg-dev/pharma-guide-backend.git
cd pharma-guide-backend && npm install

# 2. Configurar base de datos  
cp .env.example .env  # Editar con tus credenciales
npx prisma migrate dev

# 3. Iniciar servidor
npm run dev

** ¡Listo! API ejecutándose en http://localhost:8080**

Prerrequisitos

  • Node.js >= 18.x
  • PostgreSQL >= 14 (o usar Docker)
  • Redis (opcional, para cache - se puede omitir inicialmente)

Configuración

🔑 Variables de Entorno Esenciales

# Base de Datos
DATABASE_URL="postgresql://user:pass@localhost:5432/pharmaguide"

# JWT
JWT_SECRET="tu_jwt_secret_super_seguro"
JWT_EXPIRATION="86400"

# IA (Opcional - para funcionalidades de IA)
GEMINI_API_KEY="tu_api_key_de_gemini"

# Redis (Opcional - para cache optimizado)
REDIS_HOST="localhost"
REDIS_PORT="6379"
   
   # Configuración del servidor
   PORT=3000
   NODE_ENV=development
  1. Configura la base de datos:

    # Generar cliente Prisma
    npx prisma generate
    
    # Ejecutar migraciones
    npx prisma migrate dev --name init
    
    # Poblar datos iniciales
    npx prisma db seed
  2. Inicia el servidor:

    npm run dev

API y Swagger

🔗 Documentación Interactiva

Nuevos Endpoints de IA v1.5.0

//  Inteligencia Artificial
GET /api/drugs/:id/contraindications     // Contraindicaciones con IA
GET /api/drugs/:id/therapeutic-class     // Clase terapéutica con IA

//  Endpoints Tradicionales  
POST /api/access/pharma-guide/register   // Registro
POST /api/access/pharma-guide/login      // Login
GET  /api/pharma-guide/users             // Usuarios (Auth)
GET  /api/pharma-guide/drug              // Medicamentos
GET  /api/pharma-guide/study-plans       // Planes de estudio

📖 Referencia completa de API: Ver documentación de endpoints →

🧪 Scripts Disponibles

#  Desarrollo
npm run dev          # Servidor con hot reload
npm run build        # Compilar TypeScript
npm start           # Producción

# 🗄️ Base de Datos  
npx prisma generate  # Generar cliente
npx prisma studio   # Interfaz visual
npx prisma migrate dev # Aplicar migraciones

#  Utilidades
npm run lint        # Linter ESLint
npm run test        # Ejecutar tests

🤝 Contribución

Guía Rápida

  1. Fork el repositorio
  2. Crea tu rama: git checkout -b feature/nueva-funcionalidad
  3. Commitea: git commit -m 'feat: agregar nueva funcionalidad'
  4. Push: git push origin feature/nueva-funcionalidad
  5. Abre un Pull Request

Estándares

  • Conventional Commits: feat:, fix:, docs:, etc.
  • TypeScript con tipos estrictos
  • Tests para nuevas funcionalidades
  • Documentación actualizada

Guía completa: Ver guía de contribución →


Versión Actual

v1.5.0 - Sistema de IA y Redis Cache

  • Inteligencia Artificial con Gemini AI
  • Cache Redis optimizado por funcionalidades
  • Contraindicaciones y Clase Terapéutica automatizadas
  • Arquitectura modular escalable

Ver changelog completo: Historial de versiones →


📞 Soporte


** PharmaGuide Backend v1.5.0**
Plataforma educativa inteligente para Química Farmacéutica

Documentación API Reference

About

Backend API for PharmaGuide, an AI-assisted educational platform for Pharmacy students.

Topics

Resources

License

Stars

Watchers

Forks

Contributors