Skip to content

Alexis-Lozada/StayPricerAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StayPricerAPI

Microservicio basado en FastAPI que utiliza un modelo de Keras/TensorFlow entrenado para sugerir precios de alojamiento basados en capacidad, habitaciones y baños.

Caracteristicas

  • Integracion de Machine Learning: Prediccion de precios en tiempo real utilizando un modelo de Keras pre-entrenado.
  • Arquitectura Modular: Separacion clara de responsabilidades (API, Servicios, Modelos, Core).
  • Estandares Internacionales: Codigo base traducido al ingles para mayor compatibilidad.
  • Versionado: Documentacion de la API versionada bajo /api/v1/.
  • Listo para Docker: Facil contenedorizacion para un despliegue consistente.

Estructura del Proyecto

stay-pricer-api/
├── app/
│   ├── main.py            # Punto de entrada: inicializa FastAPI e incluye routers
│   ├── api/               # Controladores/Routers de la API
│   │   └── v1/
│   │       └── prediction_router.py
│   ├── core/              # Configuracion y constantes
│   ├── models/            # Esquemas de Pydantic (formas de datos)
│   ├── services/          # Logica de negocio: carga de modelos y prediccion
│   └── ml_models/         # Almacenamiento de archivos .keras y .npz
├── .dockerignore
├── .env                  # Variables de entorno
├── Dockerfile            # Configuracion del contenedor
├── requirements.txt      # Dependencias del proyecto
└── README.md             # Este archivo

Instalacion Local

Prerrequisitos

  • Python 3.13 (o version compatible)

Pasos

  1. Clonar el repositorio:

    git clone https://github.com/Alexis-Lozada/StayPricerAPI.git
    cd stay-pricer-api
  2. Crear y activar un entorno virtual:

    python -m venv venv
    # En Windows:
    .\venv\Scripts\Activate.ps1
    # En Linux/macOS:
    source venv/bin/activate
  3. Instalar dependencias:

    pip install -r requirements.txt
  4. Ejecutar la aplicacion:

    uvicorn app.main:app --reload

Uso con Docker

  1. Construir la imagen:

    docker build -t stay-pricer-api .
  2. Ejecutar el contenedor:

    docker run -d -p 8000:8000 --name stay-pricer-api stay-pricer-api

Uso de la API

Una vez en ejecucion, accede a la documentacion interactiva automatica en:

Ejemplo de Peticion

POST /api/v1/predict

{
  "capacity": 4,
  "rooms": 2,
  "bathrooms": 1.5,
  "beds": 2,
  "latitude": 19.4326,
  "longitude": -99.1332
}

Ejemplo de Respuesta

{
  "suggested_price": 1250.50,
  "currency": "MXN"
}

Licencia

Distribuido bajo la Licencia MIT. Consulta el archivo LICENSE para mas informacion (si aplica).

About

API que sugiere un precio basado en capacidad, habitaciones y baños.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors