Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/carlamndz/InventarioITU/llms.txt

Use this file to discover all available pages before exploring further.

InventarioITU is a centralized inventory system built to track and manage the computer equipment across the laboratory facilities of ITU Mendoza (Instituto Tecnológico Universitario). Designed for IT administrators and lab coordinators, the system provides a unified web interface for querying where each machine is physically located, who it is assigned to, and what hardware components it contains — all secured behind institutional LDAP authentication and deployed as a fully containerized application on Kubernetes.

Services Overview

InventarioITU is composed of four cooperating services, each running as its own container inside the Kubernetes cluster. Together they cover the full lifecycle of an inventory request: authentication, location lookup, hardware detail retrieval, and web presentation.
ServiceDescriptionPortTechnology
inventario-webWeb application frontend that serves the inventory UI and proxies queries to both databases3000Node.js + Express
ubicacion-dbRelational store for equipment location and assignment records1433SQL Server
inventario-dbDocument store for detailed hardware component specifications27017MongoDB
ldap-serviceDirectory server used for authenticating all user logins389OpenLDAP

Architecture

Understand how the four services connect, how data flows through the system, and how Calico network policies govern inter-pod communication.

Core Features

Dual-database design, LDAP-backed authentication, Kubernetes-native deployment, and host-level firewall hardening with GUFW.

Database Setup

Step-by-step instructions for initializing the SQL Server schema and loading the MongoDB hardware document collection before first launch.

Deployment

Stand up the full stack locally with Minikube in under 30 minutes, or promote to an on-premise Kubernetes cluster for production use.

Core Features

InventarioITU was designed around a set of practical operational requirements for institutional lab management:
  • Dual-database inventory — Equipment location and assignment data lives in a relational SQL Server schema (suitable for joins across labs, rooms, and assignments), while hardware component details (CPU, RAM, storage, peripherals) are stored as flexible JSON documents in MongoDB.
  • Institutional authentication — Every login is validated against an OpenLDAP directory, meaning user accounts are managed centrally alongside other institutional systems and no separate password database is needed.
  • Container-first deployment — Every service ships as a Docker image and is orchestrated by Kubernetes, making the system reproducible across developer laptops (Minikube) and production servers alike.
  • Network isolation with Calico — Calico CNI enforces NetworkPolicy objects so that, for example, only inventario-web can reach the database pods — no direct external access to ubicacion-db or inventario-db is permitted.
  • Host firewall hardening — GUFW (Uncomplicated Firewall with GUI) is configured on the host nodes to provide an additional layer of perimeter defense outside the cluster.

Technology Stack

TechnologyRole in InventarioITU
Node.js + ExpressPowers inventario-web — handles HTTP routing, server-side rendering, and proxies queries to both database backends
SQL Server / MySQLStores structured location, room, lab, and equipment assignment records in the ubicacion-db service
MongoDBStores hardware component documents (flexible schema) in the inventario-db service
OpenLDAPProvides the LDAP directory used to authenticate all web application users via the ldap-service
DockerPackages each service as a portable, reproducible container image
Kubernetes / MinikubeOrchestrates all containers; Minikube is used for local development and testing
CalicoCNI plugin that enforces Kubernetes NetworkPolicies to restrict inter-pod and external traffic
GUFWHost-level firewall management tool used to harden the underlying Linux nodes

Project Context

InventarioITU was developed as the Proyecto Integrador EGI (Proyecto Integrador de la carrera de Especialización en Gestión Informática) at ITU Mendoza. The project intentionally spans four subject areas — Cloud Computing, Linux Administration, Windows Server, and Databases — to demonstrate integrated competency across the full stack of an enterprise IT environment. The system reflects real operational needs at ITU Mendoza: multiple computer labs with heterogeneous hardware, a need for accurate asset tracking, and an existing institutional directory that should serve as the single source of truth for user identities. By building on open standards (LDAP, Kubernetes NetworkPolicy) and widely adopted open-source technologies, InventarioITU is designed to be maintainable by future student cohorts and extensible as the institution’s needs grow.

Build docs developers (and LLMs) love