El Sistema de Gestión Multibase es una aplicación diseñada para gestionar múltiples bases de datos de diferentes dominios, como clínicas, restaurantes y venta de automóviles.
La aplicación permite realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en cada una de las bases de datos, proporcionando una interfaz gráfica de usuario (GUI) intuitiva y fácil de usar.
El proyecto está organizado en los siguientes directorios:
models/: Contiene los modelos de datos definidos utilizando SQLAlchemy.repositories/: Contiene los repositorios que manejan la lógica de acceso a datos.routes/: Contiene las rutas de la API Flask para cada dominio.services/: Contiene los servicios que encapsulan la lógica de negocio.widgets/: Contiene los widgets personalizados utilizados en la GUI.
- Python: Lenguaje de programación principal.
- Flask: Framework web utilizado para crear la API REST.
- SQLAlchemy: ORM utilizado para interactuar con las bases de datos.
- Tkinter: Biblioteca utilizada para crear la GUI.
- tkcalendar: Biblioteca utilizada para los widgets de selección de fecha en la GUI.
- requests: Biblioteca utilizada para realizar peticiones HTTP.
- Modularidad: El proyecto está dividido en módulos claros y separados, facilitando el mantenimiento y la escalabilidad.
- Uso de ORM: SQLAlchemy se utiliza para interactuar con las bases de datos, lo que permite una abstracción de la capa de datos y facilita la migración entre diferentes sistemas de gestión de bases de datos.
- Inyección de Dependencias: Los servicios y repositorios se inyectan en las rutas, promoviendo la separación de responsabilidades y facilitando las pruebas unitarias.
- Validación de Datos: Se implementan validaciones en los modelos para asegurar la integridad de los datos.
- Estilo y Temas: La GUI utiliza temas personalizados (Forest theme - Con nuevos estilos que he agregado) para una mejor experiencia de usuario.
- Paginación: Se implementa la paginación en las vistas de datos para mejorar el rendimiento y la usabilidad.
- Filtros y Búsquedas: Se permite filtrar y buscar datos en las tablas, mejorando la funcionalidad de la aplicación.
-
Clonar el repositorio:
git clone https://github.com/Dejatori/database-management-app.git cd database-management-app -
Crear un entorno virtual:
python -m venv venv source venv/bin/activate # En Windows: venv\Scripts\activate
-
Instalar las dependencias:
pip install -r requirements.txt
-
Configurar la conexión a la base de datos (MySQL):
- Asegúrese de tener las bases de datos configuradas y accesibles.
- Actualice las configuraciones de conexión creando un archivo
.enven la raíz del proyecto:
DB_USERNAME=Tu_usuario DB_PASSWORD=Tu_contraseña DB_HOST=Tu_host DB_PORT=Tu_puerto
-
Crear las bases de datos y tablas:
- Ejecuta el archivo
modelos_relacionales.sqlpara crear las bases de datos, las tablas y datos de prueba.
mysql -u Tu_usuario -p < modelos_relacionales.sql - Ejecuta el archivo
-
Ejecutar la aplicación:
flask run
-
Iniciar la GUI:
python gui.py
-
Navegar entre las pestañas para acceder a las diferentes bases de datos (clínica, restaurante, automóviles).
-
Realizar operaciones CRUD utilizando los botones y formularios proporcionados en la GUI.
-
Aplicar filtros y paginación para gestionar y visualizar los datos de manera eficiente.
Este proyecto está licenciado bajo la Licencia GNU General Public License (GPL). Consulte el archivo LICENSE para obtener más detalles sobre los términos de la licencia.
