La siguiente es una guía lista para compartir con los estudiantes de la asignatura Diseño Experimental. Está adaptada para Windows, clonando el repositorio en el disco C:\, trabajando desde Visual Studio Code y publicando una copia personal del proyecto en la cuenta de GitHub de cada estudiante o grupo.

La idea central es que cada estudiante o grupo:

  1. Clone el repositorio base del profesor.
  2. Ejecute correctamente la aplicación en su computador.
  3. Cree un repositorio propio en GitHub.
  4. Conecte el proyecto local con su propio repositorio.
  5. Suba su versión del aplicativo a GitHub.
  6. Continúe mejorando la aplicación en su quehacer académico y profesional.

El repositorio base de la aplicación se encuentra en:

https://github.com/justorfc/design.git

La aplicación corresponde a una app multipágina desarrollada con Python y Streamlit, con archivos principales como app.py, requirements.txt, la carpeta pages/ y la carpeta utils/.


Guía paso a paso para clonar, ejecutar y publicar la App Design

1. Propósito académico y profesional de esta actividad

Esta actividad tiene un propósito que va más allá de ejecutar una aplicación existente. Se espera que cada estudiante o grupo pueda apropiarse del aplicativo, estudiarlo, modificarlo y proyectarlo hacia su uso profesional.

En la práctica profesional, un ingeniero puede necesitar adaptar herramientas computacionales para resolver problemas concretos de análisis de datos, diseño experimental, modelación, visualización e interpretación de resultados. Por esa razón, este ejercicio busca que el estudiante:

  • Aprenda a trabajar con proyectos reales organizados en carpetas y archivos.
  • Use Git y GitHub como herramientas de control de versiones.
  • Comprenda cómo clonar, modificar y publicar una aplicación propia.
  • Desarrolle autonomía para continuar ampliando el aplicativo después de finalizar la asignatura.

2. Requisitos previos

Antes de iniciar, cada estudiante debe tener instalado o creado lo siguiente:

  1. Git
    Permite clonar repositorios, guardar cambios y subirlos a GitHub.

  2. Visual Studio Code
    Será el editor de código utilizado para abrir, modificar y ejecutar el proyecto.

  3. Python 3.10 o superior
    Se recomienda usar Python 3.10 o una versión posterior compatible con las librerías del proyecto.

  4. Extensión de Python en VSCode
    Desde VSCode, ir a Extensions y buscar:

Python

Instalar la extensión oficial de Microsoft.

  1. Cuenta personal en GitHub
    Cada estudiante o grupo debe tener una cuenta activa en GitHub.

  2. Conexión a internet
    Será necesaria para clonar el repositorio, instalar dependencias y subir el proyecto a GitHub.


3. Verificar que Git y Python estén instalados

Abrir PowerShell o la terminal integrada de VSCode y escribir:

git --version

Debe aparecer algo similar a:

git version 2.x.x

Luego verificar Python:

python --version

Si el comando anterior no funciona, probar con:

py --version

Debe aparecer algo similar a:

Python 3.10.x

4. Crear una carpeta de trabajo en el disco C:\

Se recomienda no clonar directamente dentro de carpetas del sistema como C:\Windows o C:\Program Files.

En PowerShell, ejecutar:

cd C:\
mkdir Proyectos
cd Proyectos

Con esto se crea la carpeta:

C:\Proyectos

5. Clonar el repositorio base del profesor

Dentro de C:\Proyectos, ejecutar:

git clone https://github.com/justorfc/design.git

Al finalizar, se habrá creado la carpeta:

C:\Proyectos\design

Ingresar a esa carpeta:

cd design

Verificar que el proyecto fue clonado correctamente:

dir

Deben observarse archivos y carpetas como:

app.py
requirements.txt
pages
utils

6. Abrir el proyecto en VSCode

Desde la misma terminal, escribir:

code .

Si el comando code . no funciona, abrir VSCode manualmente y hacer:

File → Open Folder → C:\Proyectos\design

7. Crear el entorno virtual de Python

Dentro de VSCode, abrir la terminal integrada:

Terminal → New Terminal

Verificar que la terminal esté ubicada en:

C:\Proyectos\design

Crear el entorno virtual:

python -m venv .venv

Si el comando anterior no funciona, intentar:

py -m venv .venv

Esto crea una carpeta llamada .venv, donde quedarán instaladas las librerías del proyecto.


8. Activar el entorno virtual

En PowerShell, ejecutar:

.\.venv\Scripts\Activate.ps1

Cuando el entorno virtual esté activo, la terminal mostrará algo parecido a:

(.venv) PS C:\Proyectos\design>

Si PowerShell bloquea la activación, ejecutar una sola vez:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Luego cerrar y abrir de nuevo la terminal de VSCode, y volver a activar:

.\.venv\Scripts\Activate.ps1

9. Seleccionar el intérprete de Python en VSCode

En VSCode:

Ctrl + Shift + P

Buscar:

Python: Select Interpreter

Seleccionar el intérprete que esté dentro de:

C:\Proyectos\design\.venv\Scripts\python.exe

10. Instalar las dependencias del proyecto

Con el entorno virtual activo, ejecutar:

python -m pip install --upgrade pip

Luego instalar las librerías del proyecto:

pip install -r requirements.txt

O, de forma equivalente:

python -m pip install -r requirements.txt

11. Ejecutar la aplicación Streamlit

Con el entorno virtual activo y estando dentro de la carpeta del proyecto, ejecutar:

streamlit run app.py

La aplicación se abrirá en el navegador. Normalmente aparecerá en una dirección local como:

http://localhost:8501

Si la aplicación abre correctamente, significa que el estudiante ya tiene una copia funcional del aplicativo Design en su computador.


12. Crear un repositorio propio en GitHub

Después de verificar que la aplicación funciona, cada estudiante o grupo debe crear su propio repositorio en GitHub.

12.1. Entrar a GitHub

Ingresar a:

https://github.com

Iniciar sesión con la cuenta personal o con la cuenta del grupo.

12.2. Crear un nuevo repositorio

En GitHub, hacer clic en:

New repository

O también:

+ → New repository

12.3. Nombre sugerido del repositorio

Se recomienda usar un nombre claro. Por ejemplo:

design-mi-version

También se puede usar un nombre con el programa, grupo o apellido:

design-agroindustrial-grupo-03
design-experimental-apellido1-apellido2

12.4. Configuración recomendada

Al crear el repositorio, seleccionar:

  • Repository name: nombre del repositorio propio.
  • Visibility: puede ser Public o Private, según indique el profesor.
  • Initialize this repository with: dejar sin marcar las opciones iniciales.

Es decir, se recomienda no agregar inicialmente:

  • README.md
  • .gitignore
  • license

Esto evita conflictos al subir el proyecto local que ya fue clonado desde el repositorio del profesor.

Al finalizar, hacer clic en:

Create repository

GitHub mostrará una URL parecida a esta:

https://github.com/USUARIO/design-mi-version.git

Esa URL será necesaria para conectar el proyecto local con el repositorio propio.


13. Revisar el repositorio remoto actual del proyecto clonado

Cuando se clona el repositorio del profesor, Git configura automáticamente un remoto llamado origin apuntando al repositorio original.

Desde la terminal de VSCode, dentro de:

C:\Proyectos\design

Ejecutar:

git remote -v

Debe aparecer algo parecido a:

origin  https://github.com/justorfc/design.git (fetch)
origin  https://github.com/justorfc/design.git (push)

Esto significa que, por ahora, el proyecto local está conectado al repositorio del profesor.

Sin embargo, el estudiante normalmente no tiene permiso para subir cambios al repositorio del profesor. Por tanto, se debe cambiar la configuración para que el proyecto suba a su propio repositorio.


14. Conservar el repositorio del profesor como upstream

Se recomienda no perder la conexión con el repositorio del profesor. Para eso, cambiaremos el nombre del remoto actual de origin a upstream.

Ejecutar:

git remote rename origin upstream

Luego verificar:

git remote -v

Debe aparecer algo parecido a:

upstream  https://github.com/justorfc/design.git (fetch)
upstream  https://github.com/justorfc/design.git (push)

¿Qué significa upstream?

En este contexto, upstream será el nombre del repositorio original del profesor. Así, si el profesor hace mejoras futuras, el estudiante podrá traer esos cambios a su proyecto local.


15. Conectar el proyecto local con el repositorio propio del estudiante

Ahora se agregará un nuevo remoto llamado origin, pero esta vez apuntando al repositorio personal del estudiante o grupo.

La forma general del comando es:

git remote add origin https://github.com/USUARIO/NOMBRE-DEL-REPOSITORIO.git

Por ejemplo, si el usuario de GitHub es maria123 y el repositorio se llama design-mi-version, el comando sería:

git remote add origin https://github.com/maria123/design-mi-version.git

Cada estudiante debe reemplazar:

USUARIO

por su nombre de usuario en GitHub, y:

NOMBRE-DEL-REPOSITORIO

por el nombre real del repositorio que creó.

Luego verificar los remotos:

git remote -v

Debe aparecer algo parecido a:

origin    https://github.com/maria123/design-mi-version.git (fetch)
origin    https://github.com/maria123/design-mi-version.git (push)
upstream  https://github.com/justorfc/design.git (fetch)
upstream  https://github.com/justorfc/design.git (push)

En esta configuración:

  • origin apunta al repositorio propio del estudiante.
  • upstream apunta al repositorio original del profesor.

16. Subir el proyecto al repositorio propio de GitHub

Antes de subir el proyecto, verificar el estado de Git:

git status

Si no se han hecho cambios, Git puede mostrar algo parecido a:

nothing to commit, working tree clean

Aun así, se puede subir el proyecto clonado al repositorio propio con:

git branch -M main
git push -u origin main

La primera vez, GitHub puede solicitar autenticación. En algunos equipos se abrirá una ventana del navegador para iniciar sesión. En otros casos, GitHub puede solicitar autenticación mediante Git Credential Manager o un token personal.

Si el proceso fue exitoso, al actualizar la página del repositorio propio en GitHub deberán aparecer los archivos del proyecto:

app.py
requirements.txt
pages/
utils/

17. Flujo normal de trabajo después de subir el proyecto

Después de tener el repositorio propio en GitHub, cada estudiante o grupo debe trabajar siguiendo este ciclo:

17.1. Revisar cambios locales

git status

Este comando muestra qué archivos fueron modificados, agregados o eliminados.

17.2. Agregar los archivos modificados

git add .

Este comando prepara todos los cambios para ser guardados en Git.

17.3. Crear un commit

git commit -m "Mejoras iniciales de la App Design"

El mensaje del commit debe describir claramente qué se modificó.

Ejemplos de buenos mensajes:

Agrega explicación teórica del DCA
Corrige visualización de gráficos RSM
Agrega página para diseño factorial 2^3

17.4. Subir los cambios al repositorio propio

git push

Si es la primera vez que se sube la rama, usar:

git push -u origin main

18. Actualizar el proyecto si el profesor mejora el repositorio base

Una ventaja de conservar el remoto upstream es que el estudiante puede traer cambios futuros del repositorio original del profesor.

Para revisar si hay cambios en el repositorio del profesor, ejecutar:

git fetch upstream

Luego integrar esos cambios a la rama local main:

git merge upstream/main

Después de integrar los cambios, subirlos al repositorio propio:

git push origin main

Forma resumida

También puede usarse:

git pull upstream main
git push origin main

Nota importante

Si el estudiante modificó archivos que el profesor también modificó, Git puede mostrar conflictos. En ese caso, se deben revisar los archivos marcados por Git, decidir qué versión conservar, guardar los cambios y luego ejecutar:

git add .
git commit -m "Resuelve conflictos con cambios del repositorio base"
git push origin main

19. Verificar que no se suba el entorno virtual .venv

El entorno virtual .venv no debe subirse a GitHub porque puede ocupar mucho espacio y depende del computador de cada estudiante.

Verificar si existe un archivo .gitignore:

dir .gitignore

Si existe, abrirlo y comprobar que incluya al menos:

.venv/
__pycache__/
*.pyc

Si no existe, crear un archivo llamado .gitignore en la raíz del proyecto y agregar:

.venv/
__pycache__/
*.pyc
.ipynb_checkpoints/
.env

Después de crear o modificar .gitignore, guardar el cambio:

git add .gitignore
git commit -m "Agrega archivo gitignore para entorno virtual"
git push

20. Resumen de comandos principales

20.1. Clonar y ejecutar

cd C:\
mkdir Proyectos
cd Proyectos

git clone https://github.com/justorfc/design.git
cd design

code .

python -m venv .venv
.\.venv\Scripts\Activate.ps1

python -m pip install --upgrade pip
pip install -r requirements.txt

streamlit run app.py

20.2. Conectar con el repositorio propio

git remote -v

git remote rename origin upstream

git remote add origin https://github.com/USUARIO/NOMBRE-DEL-REPOSITORIO.git

git remote -v

git branch -M main
git push -u origin main

20.3. Guardar y subir cambios posteriores

git status
git add .
git commit -m "Describe aquí los cambios realizados"
git push

20.4. Traer cambios futuros del repositorio del profesor

git fetch upstream
git merge upstream/main
git push origin main

21. Estructura recomendada para el trabajo final

Cada estudiante o grupo puede continuar la aplicación siguiendo una estructura como esta:

  1. Página de inicio
    Presentación general del aplicativo, autores, asignatura, programa y propósito.

  2. Diseños completamente al azar
    Fundamento teórico, fórmulas, ejemplo, análisis en Python e interpretación.

  3. Diseños en bloques completos al azar
    Explicación del bloqueo, tabla ANOVA, supuestos y ejemplo aplicado.

  4. Diseños factoriales
    Efectos principales, interacciones, gráficos e interpretación.

  5. Superficie de respuesta
    Modelo de primer orden, trayectoria de máximo ascenso, modelo de segundo orden, punto estacionario, superficie 3D y curvas de nivel.

  6. Exportación de resultados
    Guardar tablas, figuras o reportes en formatos útiles para informes profesionales.

  7. Aplicación a un caso real
    Incorporar un ejemplo propio de Ingeniería Agrícola, Agroindustrial o Civil.


22. Recomendaciones para el estudiante

  • No trabajar directamente sobre el repositorio del profesor.
  • Crear siempre su propio repositorio en GitHub.
  • Hacer commits frecuentes con mensajes claros.
  • Probar la aplicación antes de cada push.
  • No subir la carpeta .venv.
  • Documentar cada mejora realizada.
  • Agregar explicaciones teóricas y no solo código.
  • Relacionar cada módulo con situaciones reales de ingeniería.
  • Conservar el remoto upstream para poder recibir actualizaciones del repositorio base.

23. Entregables sugeridos

Cada estudiante o grupo deberá entregar:

  1. URL del repositorio propio en GitHub.
  2. Captura de pantalla de la app ejecutándose localmente.
  3. Descripción breve de las modificaciones realizadas.
  4. Evidencia de commits realizados en GitHub.
  5. Video corto de sustentación, si el profesor lo solicita.

24. Referencias de consulta