You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+46-33Lines changed: 46 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,6 @@ Una aplicación de escritorio para Windows (WPF) diseñada para gestionar y moni
4
4
5
5
---
6
6
7
-
8
7
## 📝 Descripción General
9
8
10
9
**Server App Desktop** nace de la necesidad de tener una herramienta centralizada para administrar aplicaciones de servidor que se ejecutan localmente. En lugar de depender de la línea de comandos para iniciar, detener y monitorear procesos, esta aplicación proporciona una interfaz gráfica moderna para realizar estas tareas.
@@ -15,80 +14,94 @@ El proyecto está construido con C# y WPF, siguiendo patrones de diseño moderno
15
14
16
15
## ✨ Características
17
16
18
-
***Configuración Inicial Guiada:** Un asistente de bienvenida para configurar los parámetros del servidor la primera vez que se ejecuta la aplicación.
19
-
***Guardado de Configuración Persistente:** Los ajustes se guardan en un archivo `settings.json` en la carpeta de datos del usuario (`%APPDATA%`), eliminando la necesidad de reconfigurar en cada inicio.
20
-
***Panel de Control Central:** Una interfaz principal con navegación clara para acceder a las diferentes secciones de la aplicación.
21
-
***Gestión de Procesos (Próximamente):** Funcionalidad para iniciar, detener y monitorear el estado del proceso del servidor directamente desde la UI.
22
-
***Visor de Archivos (Próximamente):** Una sección para explorar los archivos y carpetas del directorio del servidor.
17
+
***Configuración Inicial Guiada:** Un asistente de bienvenida para configurar los parámetros del servidor la primera vez que se ejecuta la aplicación.
18
+
***Guardado de Configuración Persistente:** Los ajustes se guardan en un archivo `settings.json` en la carpeta de datos del usuario (`%APPDATA%`), eliminando la necesidad de reconfigurar en cada inicio.
19
+
***Panel de Control Central:** Una interfaz principal con navegación clara para acceder a las diferentes secciones de la aplicación.
20
+
***Carpeta Installer Integrada:** Incluye scripts `.bat` y archivos `.iss` para instalar y preparar el entorno del servidor con un solo clic.
21
+
***Gestión de Procesos (Próximamente):** Funcionalidad para iniciar, detener y monitorear el estado del proceso del servidor directamente desde la UI.
22
+
***Visor de Archivos (Próximamente):** Una sección para explorar los archivos y carpetas del directorio del servidor.
23
23
24
24
---
25
25
26
26
## 🛠️ Stack Tecnológico
27
27
28
-
***Framework:** .NET / .NET Core
29
-
***UI:** Windows Presentation Foundation (WPF)
30
-
***Lenguaje:** C#
31
-
***Serialización:** System.Text.Json para manejar la configuración.
28
+
***Framework:** .NET / .NET Core
29
+
***UI:** Windows Presentation Foundation (WPF)
30
+
***Lenguaje:** C#
31
+
***Serialización:** System.Text.Json para manejar la configuración.
32
32
33
33
---
34
34
35
35
## 🚀 Empezando
36
36
37
37
Para compilar y ejecutar este proyecto localmente, necesitarás:
38
38
39
-
*Visual Studio 2022 (o superior) con la carga de trabajo ".NET desktop development".
40
-
*.NET SDK (la versión se puede encontrar en el archivo `.csproj`).
39
+
* Visual Studio 2022 (o superior) con la carga de trabajo ".NET desktop development".
40
+
* .NET SDK (la versión se puede encontrar en el archivo `.csproj`).
Navega a la carpeta del proyecto y abre el archivo `ServerApp1Solution.sln` con Visual Studio.
50
51
51
-
3. **Restaura las dependencias:**
52
+
3. **Restaura las dependencias:**
52
53
Visual Studio debería restaurar los paquetes NuGet automáticamente. Si no, haz clic derecho en la solución en el "Solution Explorer" y selecciona "Restore NuGet Packages".
53
54
54
-
4. **Compila y ejecuta:**
55
+
4. **Compila y ejecuta:**
55
56
Presiona `F5` o el botón "Start" para compilar y ejecutar la aplicación en modo de depuración.
56
57
58
+
### Instalación del Servidor
59
+
60
+
Dentro de la carpeta `/Installer`, encontrarás los siguientes recursos:
61
+
62
+
* `FilesInstaller.bat`: Script para copiar y configurar los archivos necesarios del servidor.
63
+
* `ServerApp1Pre1Installer.iss`: Script de Inno Setup para generar el instalador de la aplicación.
2. Abre el archivo `.iss` en el editor de Inno Setup.
69
+
3. Compila el script para generar el instalador `.exe`.
70
+
57
71
---
58
72
59
73
## 📁 Estructura del Proyecto
60
74
61
-
El código está organizado de la siguiente manera para facilitar su mantenimiento:
62
-
63
-
* `/` - **Raíz del Proyecto:** Contiene los archivos principales de la aplicación como `App.xaml` y `MainWindow.xaml`.
64
-
* `/Assets` - **Recursos:** Iconos, imágenes y otros recursos estáticos.
65
-
* `/Pages` - **Páginas de Navegación:** Contiene las diferentes vistas (páginas XAML) que se muestran en el `Frame` de la `MainWindow`.
66
-
* `/Utils` - **Utilidades:** Clases de ayuda y lógica de negocio, como `SettingsManager.cs` para gestionar la configuración y `FirstStartApp.xaml` para la configuración inicial.
75
+
* `/` – **Raíz del Proyecto:** Contiene los archivos principales de la aplicación como `App.xaml` y `MainWindow.xaml`.
76
+
* `/Assets` – **Recursos:** Iconos, imágenes y otros recursos estáticos.
77
+
* `/Pages` – **Páginas de Navegación:** Contiene las diferentes vistas (páginas XAML) que se muestran en el `Frame` de la `MainWindow`.
78
+
* `/Utils` – **Utilidades:** Clases de ayuda y lógica de negocio, como `SettingsManager.cs` para gestionar la configuración y `FirstStartApp.xaml` para la configuración inicial.
79
+
* `/Installer` – **Instalador:** Scripts `.bat` y archivo `.iss` para generar el instalador y configurar el entorno del servidor.
67
80
68
81
---
69
82
70
83
## 🛣️ Roadmap del Proyecto
71
84
72
85
El objetivo es seguir mejorando la aplicación. Las próximas grandes funcionalidades planeadas son:
73
86
74
-
- [ ] **Gestión de Procesos:** Implementar la lógica para iniciar y detener el `server.exe`.
75
-
- [ ] **Monitor de Estado:** Mostrar en tiempo real si el servidor está `Online` o `Offline`.
76
-
- [ ] **Página de Configuración:** Permitir al usuario modificar los ajustes sin tener que borrar el archivo de configuración.
77
-
- [ ] **Visor de Archivos:** Implementar una vista de árbol para navegar por los archivos del servidor.
78
-
- [ ] **Consola de Salida:** Añadir una vista para capturar y mostrar la salida estándar (logs) del proceso del servidor.
79
-
- [ ] **Mejoras en la UI/UX:** Refinar estilos y la experiencia de usuario general.
87
+
- [ ] **Gestión de Procesos:** Implementar la lógica para iniciar y detener el `server.exe`.
88
+
- [ ] **Monitor de Estado:** Mostrar en tiempo real si el servidor está `Online` o `Offline`.
89
+
- [ ] **Página de Configuración:** Permitir al usuario modificar los ajustes sin tener que borrar el archivo de configuración.
90
+
- [ ] **Visor de Archivos:** Implementar una vista de árbol para navegar por los archivos del servidor.
91
+
- [ ] **Consola de Salida:** Añadir una vista para capturar y mostrar la salida estándar (logs) del proceso del servidor.
92
+
- [ ] **Mejoras en la UI/UX:** Refinar estilos y la experiencia de usuario general.
80
93
81
94
---
82
95
83
96
## 🤝 Contribuciones
84
97
85
98
¡Las contribuciones son bienvenidas! Si quieres ayudar a mejorar el proyecto, por favor sigue estos pasos:
86
99
87
-
1. **Haz un Fork** del repositorio.
88
-
2. **Crea una nueva rama** para tu funcionalidad (`git checkout -b feature/AmazingFeature`).
89
-
3. **Haz tus cambios** y haz commit (`git commit -m 'Add some AmazingFeature'`).
90
-
4. **Haz Push** a tu rama (`git push origin feature/AmazingFeature`).
91
-
5. **Abre un Pull Request**.
100
+
1. **Haz un Fork** del repositorio.
101
+
2. **Crea una nueva rama** para tu funcionalidad (`git checkout -b feature/AmazingFeature`).
102
+
3. **Haz tus cambios** y haz commit (`git commit -m 'Add some AmazingFeature'`).
103
+
4. **Haz Push** a tu rama (`git push origin feature/AmazingFeature`).
0 commit comments