Skip to content
View jzavalaq's full-sized avatar

Block or report jzavalaq

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.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

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

Report abuse
jzavalaq/README.md

Juan Zavala

Senior Java Developer · Spring Boot · Microservices · Cloud-Native APIs


👋 About Me

Backend engineer with 15+ years of expertise in Java and the Spring ecosystem. I specialize in building production-grade REST APIs, event-driven systems, and cloud-native microservices. Passionate about clean architecture, domain-driven design, and engineering excellence.


🛠️ Tech Stack

Category Technologies
Languages Java 17/21, SQL, JavaScript
Frameworks Spring Boot 3.x, Spring Security, Spring Data, Spring WebFlux
Data PostgreSQL, Redis, Elasticsearch, Flyway
Messaging Apache Kafka, RabbitMQ, WebSocket (STOMP)
DevOps Docker, Kubernetes, GitHub Actions, Maven
Patterns DDD, CQRS, Event Sourcing, Saga, Hexagonal Architecture, Multi-tenancy
Observability Prometheus, Grafana, ELK Stack, OpenTelemetry

🏗️ Architecture Philosophy

flowchart TB
    subgraph Clients
        Web[Web App]
        Mobile[Mobile App]
        External[External Services]
    end

    subgraph "API Gateway Layer"
        GW[API Gateway<br/>Rate Limiting • Auth • Routing]
    end

    subgraph "Microservices Layer"
        Banking[Banking Service]
        Notification[Notification Hub]
        Commerce[E-Commerce Platform]
        Loan[Loan Origination]
    end

    subgraph "Event Layer"
        Kafka[Apache Kafka]
        WebSocket[WebSocket Server]
    end

    subgraph "Data Layer"
        PostgreSQL[(PostgreSQL)]
        Redis[(Redis Cache)]
        ES[(Elasticsearch)]
    end

    Web --> GW
    Mobile --> GW
    External --> GW

    GW --> Banking
    GW --> Notification
    GW --> Commerce
    GW --> Loan

    Banking <--> Kafka
    Notification <--> Kafka
    Commerce <--> Kafka
    Loan <--> Kafka

    Notification <--> WebSocket

    Banking --> PostgreSQL
    Commerce --> PostgreSQL
    Loan --> PostgreSQL

    Notification --> Redis
    Banking --> Redis

    Banking --> ES
Loading

📊 Featured Projects

Project Description Tech Highlights
banking-financial-api Complete banking system with multi-currency accounts, SWIFT/SEPA transfers, fraud detection, loans, and KYC compliance Spring Boot 3.2, JWT, PostgreSQL, Flyway, K8s
notification-hub-api Multi-channel notification platform supporting email, SMS, push notifications with Redis caching and WebSocket real-time Spring Boot, Redis, WebFlux, WebSocket/STOMP
api-rate-limiting-gateway Reactive API gateway with token bucket rate limiting algorithm Spring WebFlux, Bucket4j, Resilience4j
multitenant-ecommerce-api Multi-tenant e-commerce platform with vendor isolation, product management, and shopping cart Spring Boot, Multi-tenancy, JWT, RBAC
loan-origination-credit-api Fintech loan origination system with FICO-style credit scoring engine and automated decision workflow Spring Boot, Credit Scoring, Audit Logging

🔄 System Design Example

Banking Transaction Flow

sequenceDiagram
    participant Client
    participant Gateway as API Gateway
    participant Auth as Auth Service
    participant Banking as Banking Service
    participant Fraud as Fraud Detection
    participant DB as PostgreSQL
    participant Kafka

    Client->>Gateway: POST /api/v1/transfers
    Gateway->>Auth: Validate JWT
    Auth-->>Gateway: Token Valid

    Gateway->>Banking: Process Transfer
    Banking->>DB: Check Balance
    DB-->>Banking: Balance OK

    Banking->>Fraud: Analyze Transaction
    Fraud-->>Banking: Risk Score: LOW

    Banking->>DB: Execute Transfer
    Banking->>Kafka: Publish Transfer Event

    Kafka-->>Banking: Ack
    Banking-->>Gateway: Transfer Complete
    Gateway-->>Client: 200 OK
Loading

Event-Driven Architecture

flowchart LR
    subgraph Producers
        Order[Order Service]
        Payment[Payment Service]
        Inventory[Inventory Service]
    end

    subgraph "Apache Kafka"
        Topics[Event Topics]
    end

    subgraph Consumers
        Notification2[Notification]
        Analytics[Analytics]
        Audit[Audit Log]
    end

    Order -->|OrderCreated| Topics
    Payment -->|PaymentProcessed| Topics
    Inventory -->|StockUpdated| Topics

    Topics -->|Consume| Notification2
    Topics -->|Consume| Analytics
    Topics -->|Consume| Audit
Loading

☁️ Cloud-Native Deployment

flowchart TB
    subgraph "Kubernetes Cluster"
        subgraph "Ingress Layer"
            Ingress[NGINX Ingress<br/>+ TLS]
        end

        subgraph "Application Namespace"
            Deploy1[Banking API<br/>Replicas: 3]
            Deploy2[Notification API<br/>Replicas: 2]
        end

        subgraph "Data Namespace"
            PG[(PostgreSQL<br/>Primary + Replica)]
            RD[(Redis<br/>Cluster)]
        end

        subgraph "Observability"
            Prom[Prometheus]
            Graf[Grafana]
        end
    end

    Internet --> Ingress
    Ingress --> Deploy1
    Ingress --> Deploy2

    Deploy1 --> PG
    Deploy1 --> RD
    Deploy2 --> RD

    Deploy1 -.->|Metrics| Prom
    Deploy2 -.->|Metrics| Prom
    Prom --> Graf
Loading

📈 GitHub Stats

Juan's GitHub stats

Top Languages


🔗 Connect

LinkedIn GitHub


"Building robust, scalable backend systems with clean architecture and enterprise best practices."

Popular repositories Loading

  1. jzavalaq jzavalaq Public

    Juan Zavala - Senior Java Developer Portfolio

  2. banking-financial-api banking-financial-api Public

    Banking and financial system with multi-currency accounts, SWIFT/SEPA transfers, fraud detection, and loan management

    Java

  3. notification-hub-api notification-hub-api Public

    Multi-channel notification platform with email, SMS, push notifications, Redis caching, and webhook integrations

    Java

  4. multitenant-ecommerce-api multitenant-ecommerce-api Public

    Multi-tenant e-commerce platform with vendor isolation, product variants, and shopping cart

    Java

  5. loan-origination-credit-api loan-origination-credit-api Public

    Fintech loan origination system with FICO-style credit scoring and automated decision workflow

    Java

  6. api-rate-limiting-gateway api-rate-limiting-gateway Public

    Reactive API gateway with token bucket rate limiting algorithm using Spring WebFlux

    Java