Skip to content
View BryanOnKeys's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report BryanOnKeys

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
BryanOnKeys/README.md

BryanOnKeys

Software Developer · Backend Engineering · Aplicaciones web

Desarrollo aplicaciones con especial atención a la lógica de negocio, la seguridad de las APIs y la persistencia de datos. Trabajo principalmente con Java, Spring Boot, TypeScript y NestJS; también construyo interfaces con React. Mi código y mis decisiones de arquitectura pueden revisarse en los repositorios públicos.

Proyectos · Arquitectura · Código real · Contribuciones · LinkedIn


Tecnologías aplicadas

Área Herramientas Evidencia
Backend Java 25, Spring Boot 4, NestJS, TypeScript, REST CRM · NEXO
Frontend React, JavaScript, TypeScript, HTML/CSS, Vite, Tailwind Patitas Felices · CRM
Datos PostgreSQL, MySQL, SQL Server, MikroORM, JPA Persistencia NEXO · CRM
Calidad y operaciones Git, Docker, GitHub Actions, pruebas, documentación CI NEXO · CI CRM

Proyectos

01 / NEXO Fulfillment — Backend distribuido

Sistema para pedidos, inventario y despachos, con servicios separados de operaciones, documentos y notificaciones.

  • Reglas de negocio: reservas transaccionales de stock, control de estados y creación idempotente de pedidos.
  • Integración: eventos de dominio, outbox/inbox, colas, documentos PDF y notificaciones por WebSockets.
  • Entrega: contenedores Docker, configuración de infraestructura, pruebas y documentación de arquitectura.

Ver implementación de pedidos · Documentación · Pruebas · Pipeline

NEXO CI

02 / Borough & Ledger CRM — Java y aplicaciones empresariales

CRM modular con clientes, contactos, prospectos, oportunidades, cotizaciones, tareas, reportes y auditoría.

  • Backend: Java 25, Spring Boot 4, servicios transaccionales y separación por organización.
  • Datos: MySQL, migraciones Flyway, consultas paginadas y trazabilidad.
  • Interfaz: React y TypeScript, con módulos conectados a la API.

Ver servicio de clientes · Pruebas · CI

CRM CI

03 / Patitas Felices — Frontend

Proyecto de experiencia web para una tienda de mascotas, organizado mediante rutas, vistas, componentes reutilizables y estilos responsivos. Su alcance es frontend: no se presenta como una tienda con pagos o backend productivo.

Ver rutas React · Componentes · Código fuente

Arquitectura y decisión técnica

En NEXO, la reserva de stock se confirma en una transacción. El evento de integración queda registrado mediante outbox para su posterior publicación. Los servicios consumidores gestionan sus propios estados e inbox, evitando depender de una transacción distribuida entre bases de datos.

flowchart LR
    UI["Panel React"] --> API["API · NestJS"]
    API --> DB[("PostgreSQL · pedidos / stock")]
    DB --> OB["Outbox"]
    OB --> BUS["SNS / SQS"]
    BUS --> DOC["Documentos · PDF / S3"]
    BUS --> NOT["Notificaciones"]
    NOT --> WS["WebSockets"]
    WS --> UI
Loading

El esquema describe componentes implementados y contratos del proyecto, no un despliegue AWS público certificado. Consultar decisiones y límites.

Código real

Los siguientes fragmentos proceden de los repositorios enlazados. No son ejemplos inventados para el perfil.

TypeScript / NestJS — deduplicación de pedidos mediante clave idempotente
return this.store.transaction(async (tx) => {
  const prior = await tx.lockRequest(actor.sub, key);
  if (prior) {
    invariant(
      prior.requestHash === requestHash,
      'IDEMPOTENCY_CONFLICT',
      'Esta clave ya se utilizó con otros datos.',
    );
    const order = await tx.order(prior.orderId);
    invariant(order, 'ORDER_NOT_FOUND', 'Pedido no encontrado.', 404);
    return snapshot(order, await tx.items(order.id));
  }
  // Continúa la creación transaccional del pedido...
});

Qué resuelve: dos solicitudes con la misma clave y contenido no generan dos pedidos; utilizar la misma clave con datos distintos produce un conflicto. Ver método completo.

Java / Spring Boot — aislamiento de clientes por organización
private Customer find(AppUser actor, UUID id) {
    return customers.findByIdAndOrganizationIdAndArchivedAtIsNull(
        id, actor.getOrganizationId()
    ).orElseThrow(() -> new ResponseStatusException(
        HttpStatus.NOT_FOUND, "Cliente no encontrado"
    ));
}

Qué resuelve: la consulta filtra por organización y excluye clientes archivados, sin revelar la existencia de registros de otra organización. Ver código completo.

React — organización de rutas por funcionalidades
<Routes>
  <Route path="/" element={<Home />} />
  <Route path="/products/cat" element={<ProductsCat />} />
  <Route path="/cart" element={<Cart />} />
  <Route path="/profile" element={<Profile />} />
</Routes>

Qué muestra: separación de vistas y navegación de una aplicación React. Ver en el proyecto.

Actividad pública

Este apartado se genera desde código mediante GitHub Actions y un script de Node.js. No introduce visitas, commits, estrellas ni actividad ficticia.

Actividad verificable · Instantánea pública: 2026-11-02 (UTC)

Contribuciones (últimos 12 meses) Repositorios públicos Proyectos propios públicos Estrellas en esos repositorios Seguidores
68 11 5 4 7
Últimos eventos públicos registrados
Fecha Repositorio Evento
2026-11-01 web-petshop Código actualizado
2026-11-01 openstand Código actualizado
2026-11-01 web-petshop Nueva rama o repositorio

Las contribuciones proceden del calendario público de GitHub. Los eventos disponibles dependen de la ventana de la API; estas cifras no son una medición de habilidad o productividad.

Contribuciones 3D

Mantengo la visualización de Yoshi — GitHub Profile 3D Contrib, que transforma el historial de contribuciones en un gráfico tridimensional generado a partir de GitHub.

Contribuciones 3D auténticas de BryanOnKeys, variante Night Rainbow creada por github-profile-3d-contrib

Explorar otras vistas 3D generadas desde el mismo calendario

Modelo GitBlock de contribuciones Modelo tridimensional animado de contribuciones

Ver todas las variantes disponibles · Workflow

Colaboración y código abierto

Además de mis proyectos, participo en conversaciones técnicas y contribuciones a repositorios de terceros. Los siguientes son forks públicos, no proyectos originales de mi autoría:

duo · deadcode-hunter · pqc-migration-readiness

Contacto

GitHub · LinkedIn · Explorar repositorios

Este README prioriza evidencia técnica, decisiones de implementación y proyectos verificables. Los gráficos 3D son la única sección visual externa; las demás visualizaciones provienen de Markdown y código.

Pinned Loading

  1. nexo-fulfillment nexo-fulfillment Public

    Gestión de pedidos, inventario y despachos en tiempo real. NestJS, TypeScript, MikroORM, PostgreSQL, Docker, WebSockets y AWS SNS/SQS/S3.

    TypeScript 1

  2. borough-ledger-crm borough-ledger-crm Public

    Sistema de gestión comercial Full Stack con Java, Spring Boot, React y MySQL.

    Java 1

  3. web-petshop web-petshop Public

    Tienda de productos para mascotas 🐾

    JavaScript 1

  4. kanghyunsoon/duo kanghyunsoon/duo Public

    Human-approved engineering decisions for AI coding agents. Local-first MCP tools for Codex and Claude Code with evidence-based Git diff reviews.

    TypeScript 10 4

  5. StudentSuite/awesome-student-resources StudentSuite/awesome-student-resources Public

    A curated list of the best software, tools, textbooks, channels, and resources for students. IB, IGCSE, SAT, and any student anywhere.

    JavaScript 35 65

  6. Arpan0995/pqc-migration-readiness Arpan0995/pqc-migration-readiness Public

    Static auditor estimating post-quantum (PQC) migration effort for Java codebases: detects quantum-vulnerable JCA usage and structural fragility, with a runtime crypto-agility layer

    Java 12 13