1. Enunciado proyecto: Almacén por terminal
Recomendación: Instalar VSCode
Instalar dependencias
sudo apt update
sudo apt install wget gpg apt-transport-https -y
Añadir clave de Microsoft
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
Añadir repositorio
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
Instalar VS code
sudo apt update
sudo apt install code -y
Encontrarás el acceso directo desde aplicaciones/desarrollo
Introducción
Se trata de desarrollar una aplicación gestionada exclusivamente mediante línea de comandos, dedicada al control y gestión de los productos de una tienda.
El proyecto combina scripts en Python y Bash, separando claramente las responsabilidades de cada tecnología:
- Bash solicita los datos al usuario, los valida y se encarga de la creación, modificación y eliminación de directorios y archivos.
- Python gestiona la lógica del programa y la modificación del contenido de los archivos
.json.
Funcionamiento final: lanzar el programa
- Clonar el repositorio del sistema
gitercillautilizando el comando:
git clone <ruta_a_tu_repositorio>
La clonación puede realizarse en cualquier ubicación del sistema de archivos del usuario.
- Ejecutar el script
instalar.sh, que realiza las siguientes acciones:
- Pide al usuario si realmente desea ejecutar el programa.
- Crea un directorio con el nombre de la aplicación dentro del directorio personal del usuario que ejecuta el script (
$HOME). - Copia en dicho directorio todos los elementos del proyecto:
main.py- el directorio
scripts/ - el archivo
programa.log
- Crea en el directorio
/tiendasla estructura de la tienda (categorías, marcas y productos).
- Tras ejecutar el script
instalar.sh, la estructura general del sistema quedará de la siguiente manera:
Aclaraciones
Al ejecutar el script
instalar.sh, se asume que ya existe el directorio/tiendascon los permisos adecuados para permitir la creación de la estructura de la tienda.
Dado que el directorio raíz / es propiedad del usuario root y el resto de usuarios no dispone de permisos de escritura, será necesario utilizar sudo para crear inicialmente el directorio:
sudo mkdir /tiendas
sudo chmod 777 /tiendas
Estructura del proyecto
El programa principal y los scripts auxiliares se almacenan en el directorio personal del usuario, mientras que los datos de la tienda se ubican en /tiendas.
Descripción de archivos y directorios
-
main.py
Archivo principal del programa. Contiene el punto de entrada de la aplicación y muestra un menú interactivo en Python, navegable mediante teclado. -
scripts/python/
Scripts auxiliares en Python encargados de la lectura y modificación del contenido de los archivos .json. -
scripts/bash/
Scripts en Bash que solicitan datos al usuario, los validan y realizan operaciones sobre el sistema de archivos. -
programa.log
Archivo de registro donde se almacenan los mensajes, acciones y errores generados durante la ejecución del programa.
Consideraciones adicionales
- El archivo
main.pyno debe utilizar rutas absolutas. - Todas las llamadas a scripts se realizarán mediante rutas relativas.
Ejemplo correcto desde Python:
subprocess.run(["./scripts/bash/crear_categoria.sh", "bebidas"])
Objetivo del proyecto
Aplicar conceptos de:
- uso de la línea de comandos,
- validación de datos en Bash,
- manipulación de archivos JSON con Python,
- organización de proyectos en sistemas Linux.