Skip to content

ppadilla7/docker-composer-file-crud-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

CRUD de Empleados con Python, Flask y MySQL

Este proyecto implementa un sistema básico de gestión de empleados (CRUD - Create, Read, Update, Delete) utilizando Python con Flask para el backend, MySQL como base de datos y Docker para la contenerización y despliegue.

Características

  • Gestión completa de empleados:

    • Crear nuevos empleados
    • Ver lista de todos los empleados
    • Ver detalles de un empleado específico
    • Actualizar información de empleados
    • Eliminar empleados
  • Interfaz de usuario intuitiva:

    • Formulario para agregar/editar empleados
    • Tabla con listado de empleados
    • Acciones rápidas para editar y eliminar
  • Tecnologías utilizadas:

    • Backend: Python con Flask
    • Base de datos: MySQL
    • Frontend: HTML, CSS (Bootstrap), JavaScript
    • Contenerización: Docker y Docker Compose

Requisitos previos

  • Docker
  • Docker Compose

No es necesario instalar Python, MySQL u otras dependencias localmente, ya que todo se ejecuta dentro de contenedores Docker.

Estructura del proyecto

.
├── app/
│   ├── .env                  # Variables de entorno para la aplicación
│   ├── Dockerfile            # Instrucciones para construir la imagen de la aplicación
│   ├── app.py               # Aplicación principal de Flask
│   ├── requirements.txt      # Dependencias de Python
│   └── templates/
│       └── index.html        # Plantilla HTML para la interfaz de usuario
├── docker-compose.yml        # Configuración de Docker Compose
├── init.sql                  # Script de inicialización de la base de datos
└── README.md                 # Este archivo

Instalación y ejecución

  1. Clona este repositorio:

    git clone https://github.com/ppadilla7/docker-composer-file-crud-python.git
    cd docker-compose-1
    
  2. Inicia los contenedores con Docker Compose:

    docker-compose up
    
  3. Accede a la aplicación en tu navegador:

    http://localhost:5001
    

Configuración

La configuración de la aplicación se realiza mediante variables de entorno definidas en el archivo .env y en docker-compose.yml:

  • MYSQL_HOST: Host de la base de datos (por defecto: db)
  • MYSQL_USER: Usuario de la base de datos (por defecto: root)
  • MYSQL_PASSWORD: Contraseña de la base de datos (por defecto: root)
  • MYSQL_DATABASE: Nombre de la base de datos (por defecto: empleados_db)

Desarrollo

Para realizar cambios en la aplicación:

  1. Modifica los archivos necesarios
  2. Docker Compose está configurado con volúmenes, por lo que los cambios en el código se reflejarán automáticamente en la aplicación en ejecución (para archivos Python)
  3. Para cambios en la estructura de la base de datos, modifica el archivo init.sql y reinicia los contenedores

API REST

La aplicación proporciona los siguientes endpoints:

  • GET /api/empleados: Obtiene todos los empleados
  • GET /api/empleados/<id>: Obtiene un empleado específico por ID
  • POST /api/empleados: Crea un nuevo empleado
  • PUT /api/empleados/<id>: Actualiza un empleado existente
  • DELETE /api/empleados/<id>: Elimina un empleado

Detener la aplicación

Para detener la aplicación, ejecuta:

docker-compose down

Para detener la aplicación y eliminar los volúmenes (esto eliminará los datos de la base de datos):

docker-compose down -v

Licencia

[Especifica la licencia aquí]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published