Este proyecto es una aplicación de escritorio para gestionar el inventario y el préstamo de equipos en una organización. Está desarrollado en Python usando la biblioteca Tkinter para la interfaz gráfica y MySQL como base de datos.
- Inicio de sesión: Autenticación de usuarios con roles (administrador o usuario regular).
- Gestión de inventario: Visualización, adición y eliminación de equipos.
- Préstamos: Gestión de préstamos y devoluciones de equipos.
- Actualización de estado: Modificación del estado de los equipos (disponible, en préstamo, en mantenimiento, fuera de servicio).
- Configuración de base de datos: Ventana de configuración para los parámetros de la conexión a la base de datos MySQL.
- Integridad del código: Uso de GPG para firmar el archivo
app.py
y verificar su integridad.
- Python 3.12
- Tkinter
- MySQL
- Paquetes de Python:
mysql-connector-python
bcrypt
git clone https://github.com/TheSL18/control_prestamos-ti.git
cd control_prestamos-ti
python -m venv venv
source venv/bin/activate # En Windows usa `venv\Scripts\activate`
pip install -r requirements.txt
CREATE DATABASE inventario_equipos;
USE inventario_equipos;
CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre_usuario VARCHAR(50) NOT NULL,
contrasena_hash VARCHAR(100) NOT NULL,
es_admin BOOLEAN DEFAULT FALSE,
nombres VARCHAR(100),
dependencia VARCHAR(100)
);
CREATE TABLE equipos (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
descripcion TEXT,
tipo VARCHAR(50),
disponible BOOLEAN DEFAULT TRUE,
codigo_barras VARCHAR(100) UNIQUE NOT NULL
);
CREATE TABLE prestamos (
id INT AUTO_INCREMENT PRIMARY KEY,
equipo_id INT NOT NULL,
usuario_id INT NOT NULL,
fecha_prestamo DATETIME NOT NULL,
fecha_devolucion DATETIME,
FOREIGN KEY (equipo_id) REFERENCES equipos(id),
FOREIGN KEY (usuario_id) REFERENCES usuarios(id)
);
Crea un archivo config.ini en el directorio del proyecto con la siguiente estructura y ajusta los valores según tu configuración de MySQL:
[DATABASE]
host = 127.0.1.1
port = 3306
user = tu_usuario
password = tu_contraseña
database = inventario_equipos
Si el archivo app.py ha sido firmado con GPG, verifica su integridad de la siguiente manera:
- Importar la clave pública del firmante (si no lo has hecho):
gpg --keyserver hkps://keys.openpgp.org --recv-keys 3CA0B9DF1BE7CE09
- Verificar la firma del archivo
app.py
:
gpg --verify app.py.sig app.py
Si la verificación es exitosa, podrás proceder con confianza en que el archivo no ha sido alterado.
python app.py
Licencia Este proyecto está bajo una Licencia custom. Consulta el archivo LICENSE para más detalles.
Para preguntas o soporte, por favor contacta a [email protected] o abre un issue en GitHub.
El desarrollador usa llaves GPG para cifrar, firmar o verificar la integridad de los mensajes y para evitar la suplantación de identidad.