/portafolio

Portafolio

Primary LanguageJavaScript

Portafolio node.js, php ,laravel, vue.js, vuetify de Igor Parra

Ninguno de los códigos incluidos en este repo es ejecutable, son sólo retazos de aquí y de allá para mostrar estilo y estructuras.

Vue.js y vuetify

  • El directorio pwa contiene una muestra parcial de una aplicación de tipo progressive web application. Usa vuex para manejo de estados y axios para llamadas a api.

Microservicio en php lumen/laravel

  • El directorio ms contiene una muestra parcial de una aplicación de tipo microservicio api hecha con lumen, que es un subconjunto de laravel.

Backends en node.js

  • El directorio api contiene una muestra parcial de una aplicación de tipo api hecha con node.js.

  • En general este modelo de backend es el que uso siempre para apis o workers en node.js. Lo he ido afinando a traves del tiempo. Es muy flexible y eficiente.

    • Usa un modulo propio module-koa-common que tengo en un repo privado. En este caso lo incluyo como dependencia local.
  • Se usa koa.js para usar async/await out of the box.

  • Se usa estructura CLEAN (interpretación propia suceptible de mejorar):

    • application: Casos de uso:
      • PoisAll: Para vista inicial sin requerimeientos de entrada.
      • PoisSector: Para vistas sectorizadas dado un centro geográfico. Se requiren distancia, coordenadas del cetro y eventualmente categorias.
    • infrastructure: Rutas de la api y librerias
      • container: Configura clases mediante injección de dependecias usando Awilix
      • httpServer: Implementación de server HTTP usando middlewares koa.js
    • init.js: Inicialización de server.
    • interfaces: controlador api y repositorio de db
    • __tests__: bateria de tests con jest y helper para test de integración via axios para simular llamadas api.

Cloud

  • He estado usando Google Cloud Platform y Amazon Web Services por muchos años:
    • GCP: Compute engine, Cloud SQL, Cloud DNS, Cloud run, Cloud functions, Cloud storage, etc.
    • AWS: EC2, Code Pipeline, RDS, VPC, S3, SNS, etc.
    • Firebase: Authentication, Cloud messaging ,etc.

Pulumi

  • Desde hace unos meses estoy aprendiendo a usar pulumi.
  • Este framework permite usar lenguajes como javascript, typescript y otros para expresar la infraestructura de una aplicación utilizando un método llamado "infraestructura como código" (IaC).
  • Se declara la infraestructura deseada, y pulumi automatiza todo el proceso de despliegue y actualización de la infraestructura.
  • Disponible para:
    • AWs
    • GCP
    • Microsoft Azure
  • Muestras de iac con pulumi:

CI/CD

  • Muestras de archivos de especificación de compilación:
    • buildspec.yml: Para AWS Codebuild (Fully managed continuous integration service that compiles source code, runs tests, and produces software packages)
    • cloudbuild.yaml: Para GCP Cloud Build (Build, test, and deploy on our serverless CI/CD platform)

UML

Uso de diagramas UML en la etapa de análisis y diseño:

  • Diagrama de actividad para definir un microservicio para Server Sent Events (sse) corriendo sobre MIGs (GCP managed instances groups) con autoescalamiento y un HTTPS Load Balancer.

    • Screenshot_2021-07-30_08-22-15.png
  • Diagrama de actividad para definir un proceso periódico para envío de notificaciones push corriendo sobre MIGs (GCP managed instances groups) con autoescalamiento.

    • Screenshot_2021-07-30_08-22-38.png
  • Diagrama de clase para definir relaciones entre objetos para realizar un publicación.

    • Screenshot_2021-07-30_08-24-02.png
  • Diagrama ER para definir relaciones entre entidades de un sistema de publicación.

    • Screenshot_2021-07-30_08-25-29.png

Screenshots de apps vue.js

Mapas y categorias

prueba1.png prueba2.png

Tablas y controles

Screenshot_2021-07-12_10-12-18.png Screenshot_2021-07-12_10-11-44.png

Red social con mapas y fotos

Screenshot_2021-07-12_10-27-08.png Screenshot_2021-07-12_09-47-45.png Screenshot_2021-07-12_09-49-23.png

Referencias en comunidades de programadores

Otros repos de interés

Contacto