Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Build WinForms Project (Windows)

on:
push:
branches:
- main
paths:
- 'source/ControlDomotico/**'
pull_request:
branches:
- main
paths:
- 'source/ControlDomotico/**'
workflow_dispatch:

jobs:
build:
runs-on: windows-latest

permissions:
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: dotnet restore source/ControlDomotico/ControlDomotico.sln

- name: Build project
run: dotnet build source/ControlDomotico/ControlDomotico.sln --configuration Release --no-restore

- name: Publish project
run: dotnet publish source/ControlDomotico/ControlDomotico.sln --configuration Release --output ./publish --no-build

- name: Create ZIP artifact
run: Compress-Archive -Path ./publish/* -DestinationPath ControlDomotico-Release.zip

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ControlDomotico-Windows-Release
path: ControlDomotico-Release.zip
retention-days: 30
1 change: 1 addition & 0 deletions assets/images/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This file ensures the assets/images directory is tracked by Git
19 changes: 16 additions & 3 deletions index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
# Universidad Santo Tomás — Programación 2

Bienvenido al sitio de la asignatura "Programación 2" de la Universidad Santo Tomás. Aquí podrás encontrar el README del proyecto, los informes y otros materiales entregables.
Bienvenido al sitio de la asignatura "Programación 2" de la Universidad Santo Tomás. Aquí podrás encontrar el código fuente del proyecto, los informes y otros materiales entregables.

---

## Navegación

- [README del proyecto principal](README.md)
- [Código fuente](source/ControlDomotico/) — Proyecto WinForms de Control Domótico
- [Informes de la asignatura](informes/)
- [Introducción](informes/introduccion/) — Demo y ejemplos de entregas

---

## Sobre el proyecto

Este repositorio incluye:

1. **Código fuente**: El proyecto WinForms se encuentra en `source/ControlDomotico/`. Cada commit a la rama principal activa la compilación automática mediante GitHub Actions.

2. **Compilación automática**: El workflow `.github/workflows/build-windows.yml` compila el proyecto en Windows y genera un archivo ZIP con el ejecutable como artefacto descargable.

3. **Informes y entregas**: Los informes de la asignatura se organizan en la carpeta `informes/`, con plantillas y ejemplos.

---

Expand All @@ -19,4 +32,4 @@ Bienvenido al sitio de la asignatura "Programación 2" de la Universidad Santo T

---

Si quieres que organice otra sección (tareas, proyectos, ejercicios), dime y la creo.
Para más información sobre la estructura del proyecto, consulta el [README del proyecto](source/ControlDomotico/README.md).
80 changes: 80 additions & 0 deletions source/ControlDomotico/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Control Domótico — Proyecto WinForms

Este directorio contiene el proyecto WinForms de Control Domótico desarrollado para la asignatura Programación 2.

---

## Estructura sugerida del proyecto

```
source/ControlDomotico/
├── ControlDomotico.sln # Solución de Visual Studio
├── ControlDomotico/ # Proyecto principal
│ ├── ControlDomotico.csproj # Archivo del proyecto
│ ├── Form1.cs # Formulario principal (código)
│ ├── Form1.Designer.cs # Formulario principal (diseñador)
│ ├── Form1.resx # Recursos del formulario
│ ├── Program.cs # Punto de entrada de la aplicación
│ └── ... # Otros archivos del proyecto
└── README.md # Este archivo
```

---

## Cómo agregar el proyecto

1. **Si ya tienes un proyecto WinForms creado:**
- Copia todos los archivos del proyecto (`.sln`, carpeta del proyecto con `.csproj`, `.cs`, etc.) a esta carpeta `source/ControlDomotico/`.
- Asegúrate de que el archivo `.sln` esté en la raíz de esta carpeta.

2. **Si aún no has creado el proyecto:**
- Desde la terminal, navega a esta carpeta:
```bash
cd source/ControlDomotico
```
- Crea un nuevo proyecto WinForms:
```bash
dotnet new winforms -n ControlDomotico -f net8.0
```
- Crea la solución:
```bash
dotnet new sln -n ControlDomotico
dotnet sln add ControlDomotico/ControlDomotico.csproj
```

---

## Compilación automática

Una vez que agregues los archivos del proyecto a esta carpeta, el workflow de GitHub Actions (`.github/workflows/build-windows.yml`) compilará automáticamente el proyecto cada vez que hagas un commit a la rama `main`.

El workflow genera un archivo ZIP con el ejecutable compilado que puedes descargar desde la sección "Actions" del repositorio en GitHub.

---

## Compilación local

Para compilar el proyecto localmente:

```bash
# Restaurar dependencias
dotnet restore ControlDomotico.sln

# Compilar el proyecto
dotnet build ControlDomotico.sln --configuration Release

# Ejecutar el proyecto
dotnet run --project ControlDomotico/ControlDomotico.csproj
```

---

## Notas

- El proyecto debe estar configurado para .NET 8.0 o compatible.
- Asegúrate de que todos los archivos necesarios estén incluidos en el repositorio (excepto `bin/`, `obj/` que deben estar en `.gitignore`).
- Si tienes recursos externos (imágenes, íconos), colócalos en la carpeta del proyecto o en `assets/images/` del repositorio.

---

Para más información sobre el sitio completo, consulta el [índice principal](../../index.md).
Loading