Skip to content

unckleg/hongbomiao.com

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flying

HONGBO MIAO

Making magic happen


GitHub Actions FOSSA Status Depfu Uptime Robot status HTTP/3 Commitizen friendly

Go Report Card Mozilla Observatory grade Codacy grade Code Climate maintainability Code Climate technical debt

Chromium HSTS preload Codecov Code style License

Lines of code Code size Commit activity

Twitter follow GitHub follow

Storybook

hongbomiao.com


Introduction

Personal cutting-edge technology lab.

https://www.hongbomiao.com

hongbomiao.com record

Architecture

This diagram shows the architecture of this repository.

It is way over-engineering. Please make sure to know the tradeoffs before onboarding any technology to your project.

Architecture

Setup

make setup

Clean

make clean

Tech Stack

Web

  • React - Web framework
  • Redux - State container
  • React Query - Hooks for fetching, caching and updating asynchronous data
  • redux-observable - Side effects
  • RxJS - Asynchronous programming with observable streams
  • graphql-tag - GraphQL query parsing
  • Bulma - CSS framework
  • PurgeCSS - Unused CSS removing
  • Jest - Unit testing, snapshot Testing
  • React Testing Library - React component testing
  • Storybook - Visual testing
  • rxjs/testing - Marble testing
  • Cypress - End-to-end testing
  • Lighthouse CI - Performance, accessibility, SEO, progressive web app (PWA) analysis

Mobile

  • React Native - Mobile application framework
  • UI Kitten - UI library
  • React Native Testing Library - React Native component testing

API Server - Go

  • Gin - Web Framework
  • gRPC - Remote procedure call (RPC) framework
  • graphql-go - GraphQL
  • jwt-go - JWT
  • gin-contrib/cors - CORS
  • opa - Open Policy Agent
  • dgo - Dgraph client
  • minio-go - MinIO client
  • go-redis - Redis client
  • pgx - PostgreSQL driver
  • Resty - HTTP client
  • Squirrel - SQL query builder
  • apm-agent-go - APM agent
  • OpenTelemetry Go - OpenTelemetry
  • Prometheus Go - Prometheus
  • Testify - Unit testing
  • GoDotEnv - Environment variables loading
  • jsonparser - JSON parser
  • zerolog - Logging

API Server - Node.js

  • Express - Node.js web application framework
  • GraphQL.js, express-graphql - GraphQL
    • graphql-ws, graphql-subscriptions - GraphQL subscriptions
    • graphql-upload - GraphQL upload
    • graphql-shield - GraphQL permissions
    • graphql-depth-limit - GraphQL depth limit
    • graphql-query-complexity - GraphQL query complexity analysis
  • DataLoader - Batching and caching
  • Knex.js - SQL query builder
  • node-postgres - PostgreSQL client
  • ioredis - Redis client
  • rate-limiter-flexible - Rate limiting
  • expressjs/cors - CORS
  • csurf - CSRF protection
  • jsonwebtoken, express-jwt - JSON Web Tokens (JWT)
  • bcrypt - Password hashing
  • axios - HTTP client
  • Helmet - HTTP header Content-Security-Policy, Expect-CT, Referrer-Policy, Strict-Transport-Security, X-Content-Type-Options, X-DNS-Prefetch-Control, X-Download-Options, X-Frame-Options, X-Permitted-Cross-Domain-Policies, X-XSS-Protection
  • Report To - HTTP header Report-To
  • Network Error Logging - HTTP header NEL
  • express-request-id - HTTP header X-Request-ID
  • response-time - HTTP header X-Response-Time
  • connect-timeout - Request timeout
  • Terminus - Health check and graceful shutdown
  • Opossum - Circuit breaker
  • pino - Logging
  • dotenv-flow - Environment variables loading
  • Stryker - Mutation testing
  • SuperTest - HTTP testing
  • autocannon - HTTP benchmarking
  • Clinic.js - Performance profiling

Data

  • Trino - Distributed SQL query engine
  • YugabyteDB - Distributed SQL database
  • TimescaleDB - Time-series SQL database
  • Cassandra - Distributed wide-column NoSQL database
  • Dgraph - Distributed graph database
  • Elasticsearch - Distributed document-oriented search engine
  • PostgreSQL - Object-relational database
  • KeyDB - High performance fork of Redis
  • MinIO - High performance object storage
  • Temporal - Microservice orchestration platform
  • Flink - Stream processing framework
    • flink-streaming-java - Flink
    • flink-connector-twitter - Flink Twitter connector
    • flink-connector-jdbc - Flink JDBC Connector
    • flink-connector-redis - Flink Redis connector
  • Kafka - Distributed event streaming platform
    • Debezium - Distributed change-data-capture platform
    • debezium-connector-postgres - PostgreSQL connector
    • kafka-connect-elasticsearchkafka-connect-elasticsearch - Elasticsearch sink connector
    • http-connector-for-apache-kafka - HTTP sink connector
  • Superset - Data exploration and data visualization platform
  • golang-migrate/migrate - Database migrations

Cloud Native

  • Hasura - GraphQL Engine
    • hasura-metric-adapter - Hasura GraphQL Engine metric adapter
  • Ory Hydra - OAuth 2.0 and OpenID Connect server
  • Terraform - Infrastructure as code
  • TorchServe - PyTorch models serving
  • Linkerd - Service mesh
  • Traefik - Reverse proxy and load balancer
  • nginx - Reverse proxy, load balancer
  • Open Policy Agent (OPA) - Policy-based control
  • OPAL - Open-policy administration layer
  • Kibana - Data visualization dashboard for Elasticsearch
  • Elastic APM - Application performance monitoring
  • OpenTelemetry - Observability framework
  • Jaeger - Distributed tracing system
  • Grafana - Monitoring and observability platform
  • Prometheus - Monitoring system
  • Thanos - Highly available Prometheus setup with long term storage capabilities
  • Fluent Bit - Log processor and forwarder
  • Pixie - Observability tool for Kubernetes applications
  • Docker - Container
  • Skaffold - Continuous development for Kubernetes applications
  • Multipass - VM manager
  • Locust - Load testing
  • Cloudflare Tunnel - Tunneling
  • Kubernetes - Container-orchestration system
  • K3s - Lightweight Kubernetes
  • containerd - Container runtime

Ops

  • Argo CD - Declarative GitOps CD for Kubernetes
  • Rancher - Kubernetes container management platform
  • Goldilocks - Kubernetes resource requests recommending
  • Polaris - Kubernetes best practices validating
  • Kubecost - Kubernetes cost monitoring and management
  • Sloop - Kubernetes history visualization
  • Ansible - IT automation system
  • CodeQL - Variant analysis

Neural Network

  • PyTorch - Machine learning framework
    • PyTorch Geometric - PyTorch geometric deep learning extension
  • OGB - Open graph benchmark
  • Rasa - Machine learning framework for automated text and voice-based conversations
  • CML - Continuous machine learning
  • DVC - Data version control
  • Weights & Biases - Machine learning experiment tracking

Quantum Computing

  • Qiskit - Quantum computing SDK

OPAL Client

  • asyncpg - PostgreSQL client
  • pydantic - Data validation
  • Tenacity - General-purpose retrying library

Ethereum

  • Solidity - Contract-oriented programming language
  • solc-js - JavaScript bindings for the Solidity compiler

Code

  • Prettier - Code formatter
  • gofmt - Go code formatter
  • opa - Rego code formatter
  • Black - Python code formatter
  • tsc - TypeScript static type checker
  • Mypy - Python static type checker
  • ESLint - JavaScript linter
  • Stylelint - CSS linter
  • golangci-lint - Go linter
  • Buf - Protocol Buffers linter
  • solhint - Solidity linter
  • markdownlint-cli2 - Markdown linter
  • ShellCheck - Shell linter
  • hadolint - Dockerfile linter
  • Kubeval - Kubernetes configuration file linter
  • commitlint - Commit message linter
  • Husky - Bad git commit and push preventing

Services

Bots

  • Renovate - Dependency update
  • Mergify - Automatically merging
  • Stale - Stale issues and pull requests closing
  • ImgBot - Image compression
  • semantic-release - Version management and package publishing

Highlights

Cloud Native

Pixie - Kubernetes Application Observing

Pixie screenshot

Pixie screenshot

Pixie screenshot

Pixie screenshot

Linkerd - Service Mesh

Linkerd screenshot

Hasura - GraphQL Engine

Hasura GraphQL Engine screenshot

Traefik - Reverse Proxy and Load Balancer

Traefik screenshot

Elastic APM - Application Performance Management

Elastic APM screenshot

Jaeger - Distributed Tracing

Jaeger screenshot

Grafana - Monitoring and Observability Platform

Grafana screenshot

Prometheus - Metrics

Prometheus screenshot

Kibana

Kibana screenshot

Locust - Load Testing

Locust screenshot

Ops

Argo CD - GitOps

Argo CD screenshot

Discord - ChatOps

Discord screenshot

Rancher - Kubernetes Container Management

Rancher screenshot

Kubecost - Kubernetes Cost Monitoring

Kubecost screenshot

Polaris - Kubernetes Best Practices Validating

Polaris screenshot

Goldilocks - Kubernetes Resource Requests Recommending

Goldilocks screenshot

Sloop - Kubernetes History Visualization

Sloop screenshot

Data

Flink - Stream Processing

Flink screenshot

Dgraph - Distributed Graph Database

Dgraph screenshot

Redis with RedisGraph Module

Redis screenshot

Machine Learning

Contextual AI assistant

Chatbot on Telegram powered by Rasa.

Telegram screenshot

Weights & Biases - Machine Learning Experiment Tracking

Distributed hyperparameter optimization result by Weights & Biases.

Weights & Biases screenshot

HTTP/3

The website supports HTTP/3.

HTTP/3 screenshot

AVIF

Images on the website are using AVIF format.

“Roughly speaking, at an acceptable quality, the WebP is almost half the size of JPEG, and AVIF is under half the size of WebP.” – Jake Archibald, 2020

Security

Below is the website security report generated by Mozilla Observatory.

Mozilla Observatory screenshot

Profiling

Profiling result by Clinic.js and autocannon.

Profiling screenshot

Automation

This pull request shows how these technologies work together from different aspects to achieve automation.

Automation screenshot

About

Personal cutting-edge technology lab

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 33.0%
  • Python 17.0%
  • Shell 14.8%
  • Go 14.3%
  • Makefile 10.4%
  • JavaScript 4.0%
  • Other 6.5%