Este proyecto es una aplicación de gestión de tareas diseñada para la empresa Atarfil. Permite la gestión de tareas periódicas y extraordinarias, el registro de incidencias y el seguimiento del trabajo de los operadores.
-
Roles de Usuario:
- Operador: Visualiza y ejecuta tareas asignadas, reporta incidencias.
- Administrador: Gestiona usuarios, asigna tareas y revisa incidencias.
-
Gestión de Tareas:
- Tareas Periódicas: Se generan automáticamente según su frecuencia (diaria, semanal, mensual, semestral, anual).
- Tareas Extraordinarias: Se asignan manualmente a operadores específicos.
- Estado de las tareas: Las tareas pueden estar pendientes, en pausa o completadas.
-
Incidencias:
- Los operadores pueden reportar incidencias en las tareas con detalles como tipo de actuación, material necesario y observaciones.
-
Generación de Reportes:
- Se pueden exportar informes en PDF con las tareas completadas e incidencias registradas.
Antes de instalar la aplicación, asegúrese de tener instalado:
-
Servidor Backend:
- Node.js (v16 o superior)
- PostgreSQL con
pgAdmin4 - Dependencias: Express, pg, cron, multer
-
Frontend:
- Ionic + Angular
- Android Studio para compilar en dispositivos móviles (Android)
-
Herramientas Adicionales:
git clone https://github.com/atganalytical/gestion_tareas_produccion.git
cd repositorio
Opciones para importar la base de datos:
- Desde un archivo .sql (formato plano)
-
En pgAdmin4, crear una nueva base de datos gestor_tareas.
-
Ir a Query Tool y ejecutar el archivo .sql.
- Desde un archivo .tar (respaldo completo de pgAdmin)
-
En pgAdmin4, hacer clic derecho en gestor_tareas → Restore.
-
Seleccionar el archivo .tar y seguir las instrucciones.
Instalar dependencias
npm install
Configurar PostgreSQL
- Editar server.js con las credenciales de la base de datos:
const pool = new Pool({ user: 'postgres', host: 'localhost', database: 'atarfil', password: 'password', port: 5432, }); - Editar db.config.js con las credenciales de la base de datos:
module.exports = { HOST: 'localhost', USER: 'postgres', PASSWORD: 'password', DB: 'atarfil', dialect: 'postgres', pool: { max: 5, min: 0, acquire: 30000, idle: 10000 } }; - Editar environments/environment.ts para el manejo del acceso de usuario a la aplicación:
export const environment = { production: false, apiUrl: 'http://localhost:3000/' }; - Editar environments/environment.prod.ts para el manejo del acceso de usuario a la aplicación:
export const environment = { production: true, apiUrl: 'http://localhost:3000' };
Instalar dependencias
npm install
Ejecutar la Aplicación
npm start
🌍 La aplicación web se abrirá automáticamente en el puerto 4200 y el backend estará disponible en el puerto 3000.
El sistema permite cargar registros masivos (materiales, actuaciones y usuarios) desde archivos Excel mediante scripts automatizados. Esto facilita la inicialización o actualización de la base de datos.
Archivos de ejemplo
En la carpeta del proyecto 'EXCEL' están las plantillas con algunos ejemplos con las columnas necesarias, listo para ser rellenado.
- Instala las dependencias necesarias:
npm install pg xlsx bcrypt - Ejecuta el script correspondiente:
node importar_materiales.js node importar_actuaciones.js node importar_usuarios.js
Para poder extraer la APK hay que hacer algunos ajustes en varios archivos dentro de la carpeta /android de nuestro proyecto.
Archivos a cambiar
- Editar
/android/app/src/main/AndroidManifest.xmlde manera que la cabecera de la etiquieta 'application' quede de la siguiente manera:<application android:networkSecurityConfig="@xml/network_security_config" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true"> - Editar
/android/app/src/main/res/xml/network_security_config.xmlañadiendo el dominio de nuestro servidor:<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">192.168.1.135</domain> </domain-config> </network-security-config> - Editar
/android/app/src/main/java/io/ionic/starter/MainActivity.javaañadiendo la función que permite mezclar peticiones HTTP con HTTPS:public class MainActivity extends BridgeActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webView = (WebView) this.bridge.getWebView(); WebSettings webSettings = webView.getSettings(); webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } }
Compilación
Los comando a ejecutar en el directorio raiz de nuestro proyecto para conseguir nuestra APK son los siguientes:
ionic buildnpx cap copynpx cap open android
Una vez hecho esto se nos abrirá Andriod Studio y aqui tendremos que realizar lo siguiente:
- En la barra superior limpiaremos el proyecto siguiendo la ruta 'Build > Clean Proyect'.
- En la barra superior volveremos a construir el proyecto siguiendo la ruta 'Build > Rebuild Proyect'.
- Una vez terminado podremos construir nuestra APK siguiendo la ruta 'Build > Build App Bundle(s) / APK(s) > Build APK(s)'.
Finalmente siguiendo estos pasos tendremos acceso a nuestro archivo .apk que podremos compartir a nuestros dispositivos móviles android e instalar nuestra aplicación.