https://github.com/aloncrack7/mlops-researchproject-tfm

Project improving TFG upgrading MLOps level to 2

https://github.com/aloncrack7/mlops-researchproject-tfm

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Project improving TFG upgrading MLOps level to 2

Basic Info
  • Host: GitHub
  • Owner: aloncrack7
  • Language: JavaScript
  • Default Branch: main
  • Size: 998 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme

README.md

MLOps-ResearchProject-TFM

An end-to-end MLOps platform for dynamic MLflow model deployment, monitoring, and management. This project upgrades the TFG to MLOps Level 2, providing a production-ready, containerized solution for model lifecycle automation.

Python Docker Postgres MongoDB Nginx JavaScript Amazon S3 Google Cloud AWS Bash Script mlflow Pandas scikit-learn Telegram SQLite Kaggle

DOI


🚀 Overview

This system enables: - Dynamic deployment of MLflow models with automatic port allocation - Centralized control panel (React frontend) for model management - Metrics tracking, monitoring, and reporting - API-first architecture for integration and automation


🏗️ Architecture

Main components: - Frontend: React dashboard for model management and monitoring - Model Deployment Service: FastAPI backend for deploying, undeploying, and proxying models - MLflow Tracking Server: Model registry and artifact store - Databases: PostgreSQL (MLflow), MongoDB (metrics/data) - Nginx: API gateway, authentication, and routing

User → Nginx → Model Deployment API → MLflow/Deployed Models


✨ Features

  • Deploy/undeploy MLflow models on demand
  • Automatic port management (8001-8100)
  • Model versioning and registry integration
  • Real-time metrics and health monitoring
  • Download datasets and compare model metrics
  • Secure access via nginx basic auth
  • Responsive, modern UI

⚡ Quick Start

Prerequisites

Installation

Clone the repo and run:

bash ./install.sh

Once installed you could run with:

bash docker compose up -d

The system will be available at http://localhost (see nginx config for details).


🖥️ Usage

Web UI

  1. Go to http://localhost (or your configured domain)
  2. Log in with your credentials (nginx basic auth)
  3. Use the dashboard to:
    • View available models
    • Deploy/undeploy models
    • Monitor deployed models and metrics
    • Download datasets

API Endpoints (examples)

  • List models: GET /get_model_list
  • Deploy model: POST /deploy/{model}/{version}
  • List deployed models: GET /get_deployed_models
  • Undeploy model: POST /undeploy/{model-version}
  • Call model: POST /{model}-{version}

See MODEL_DEPLOYMENT_README.md for full API docs and usage examples.


📁 Directory Structure

  • containers/frontend/ – React app (dashboard)
  • containers/model_deployment/ – FastAPI backend for deployment
  • containers/mlflow/ – MLflow tracking server
  • containers/mongodb/ – MongoDB init scripts
  • nginx/ – Nginx config for routing/auth
  • examples/ – Example training scripts and notebooks
  • compose.yaml – Docker Compose setup

🛠️ Development

Frontend

Backend

NGINX

mlflow

MongoDB

Postgres

Remote logs


🩹 Troubleshooting

  • Model not accessible: Verify deployment, check logs, ensure correct model name-version
  • Frontend/API errors: Check container logs, nginx config, and authentication

🤝 Contributing

Pull requests and issues are welcome! Please open an issue to discuss major changes.


📄 License

MIT License


📬 Contact

For questions or support, open an issue or contact the maintainer.

Owner

  • Login: aloncrack7
  • Kind: user

GitHub Events

Total
  • Issues event: 3
  • Public event: 1
  • Push event: 2
Last Year
  • Issues event: 3
  • Public event: 1
  • Push event: 2

Dependencies

containers/frontend/Dockerfile docker
  • nginx alpine build
  • node 18-alpine build
containers/mlflow/Dockerfile docker
  • ubuntu 22.04 build
containers/model_deployment/Dockerfile docker
  • ubuntu 24.04 build
containers/nginx/Dockerfile docker
  • nginx latest build
containers/remote_logs/Dockerfile docker
  • ubuntu 22.04 build
containers/frontend/package.json npm
  • @emotion/react ^11.11.0
  • @emotion/styled ^11.11.0
  • @mui/icons-material ^5.11.16
  • @mui/material ^5.13.0
  • @mui/x-date-pickers ^6.2.0
  • axios ^1.4.0
  • date-fns ^2.29.3
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-router-dom ^6.11.2
  • react-scripts 5.0.1
containers/model_deployment/requirements.txt pypi
  • boto3 *
  • data-degradation-detector *
  • fastapi *
  • httpx *
  • pymongo *
  • python-multipart *
  • uptime-kuma_api *
containers/remote_logs/requirements.txt pypi
  • dotenv *
  • pandas *
  • python-telegram-bot *
  • requests *
examples/requirements.txt pypi
  • boto3 *
  • data-degradation-detector *
  • dotenv *
  • fsspec *
  • hdfs *
  • matplotlib *
  • mlflow *
  • numpy *
  • pandas *
  • scikit-learn *