Es el modulo web del sistema de registro de tareas de calendario con notificaciones push a traves del API Sky Calendar en NestJS
Adicionalmente funciona como PWA(Progresive Web App) que puede integrarse en cualquier dispositivo movil
Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas.
Puede visualizar una Demo del Proyecto en el siguiente enlace : https://sky-calendar-app.vercel.app/#/login
Administrador
saivergx@gmail.com
Admin1
Viewer
jaimeburgostejada@gmail.com
Admin1
Mira Deployment para conocer como desplegar el proyecto.
Software requerido
NodeJS >= 14.X
NPM >= 8.X
AngularCli >= 13.X
Software opcional
Visual Studio Code ( O el editor de su preferencia)
Para ejecutar un entorno de desarrollo
Previamente ejecutar el comando en la terminal para descargar "node_modules" para el funcionamiento del proyecto
npm install
Previamente configurar la ruta del API que consumira nuestro proyecto en el archivo "src/environments/environment.ts" campo API_URL
Para ejecutar un servidor de pruebas local usar el comando donde "PUERTO" sera el puerto donde deseamos ejecutar el proyecto , por default ng serve ejecuta el puerto 4200
ng serve --port [PUERTO]
Dirigirse a la ruta http://localhost:4200/#/login/ se tendra la pantalla de Login del sistema existiendo 2 roles
Login : Apartado de inicio de sesion para ambos tipos de roles
Change Password : Apartado para el cambio de contraseña
Gestion de Usuarios : Apartado para la gestion de usuarios , creacion , reseteo , edicion , eliminacion
Calendario : Apartado con el calendario de tareas , registro de tareas , edicion , eliminacion (Se envia notificaciones push a los usuarios suscritos)
Profile : Apartado de perfil del sistema del usuario donde puede actualizar sus datos personales , habilitar notificaciones , fingerprint authentication , narbar mode y dark theme o light theme demanda (Se envia notificaciones push a los usuarios suscritos)
Para ejecutar como PWA(Progressive Web App) , previamente debe tenerse instalado la libreria http-serve
npm install --global http-server
Una vez instalada proceder a ejecutar el siguiente comando , que nos permite ejecutar en entorno local nuestra PWA
npm run start-pwa
Este comando se encuentra configurado en el archivo package.json de la raiz del proyecto por default ejecuta el puerto 8080
La PWA se encuentra configurada para ejecutarse en la vista de Login si no se esta logeado
Se cuenta con soporte de notificaciones Push integrado para el calendario tanto para escritorio como dispositivos moviles
Se creo el archivo src/custom-service-worker.js para la gestion de evento de notificaciones personalizado
Cuenta con soporte para logeo mediante huella dactilar o patron/pin del dispostivo movil usando el estandar web authn
_Para habilitarlo ir al profile del usuario logeado _
En caso el dispositivo se encuentre registro se tendra mensaje de informacion de registro
Más informacion de Web Authn : https://webauthn.io/
Previamente configurar la ruta del API que consumira nuestro proyecto en el archivo src/environments/environment.prod.ts campo API_URL
Para realizar el despligue a produccion del proyecto ejecutar el siguiente comando
ng build --configuration production
El cual creara la carpeta "dist" en la raiz de nuestro proyecto el cual podemos desplegar en cualquier servidor que ejecute HTML CSS y JS
A su vez en un hosting con certificado HTTPS se podra ejecutar como una PWA que se podra "instalar"
Para desplegar el proyecto mediante Docker se tiene los archivos Dockerfile
y docker-compose.prod.yaml
, los cuales tienen preconfigurado la imagen y dependencias necesarias para levantar el proyecto, se utilizo como base un servidor web Nginx
Para construir la imagen y ejecutarla tenemos el siguiente comando
Ejecutar el siguiente comando en la raiz del proyecto
docker-compose -f docker-compose.prod.yaml up --build
En caso de requerir volver a ejecutar el contenedor del proyecto previamente creado ejecutar el comando:
docker-compose -f docker-compose.prod.yaml up
Las herramientas utilizadas son:
- Angular - El Framework para Desarrollo Web
- NPM - Manejador de dependencias
- Visual Studio Code - Editor de Codigo
- Prettier - Formateador de Codigo
- TabNine - Autocompletador de Codigo
- WebAuthn - Web Authentication
- Argon DashBoard - Plantilla Web Utilizada
Usamos GIT para el versionado.
- Jaime Burgos Tejada - Developer
- SkyZeroZx
- Email : jaimeburgostejada@gmail.com
Este proyecto está bajo la Licencia - mira el archivo LICENSE.md para detalles