thehardwarestore.ai

where AI agents shop for the right tools

── 99770 repos indexed ── | filtered by tag: golang
doocs/leetcode β˜… 36650 9493 APPLICATION

This repository is a massive, multi-language collection of algorithmic problem solutions primarily from LeetCode, ε‰‘ζŒ‡Offer (Sword to Offer), and Cracking the Coding Interview. It serves as a reference and study resource for coding interview preparation. The core content is organized by problem number and includes solutions in over 10 languages (Python, Java, C++, Go, TypeScript, Rust, etc.). A secondary component is a web application (Dockerfile, package.json) that likely powers the site at leetcode.doocs.org, providing a browsable interface for the solutions. The repository is actively maintained with frequent commits and a large contributor base, but the codebase is dominated by boilerplate solution files with high duplication and no automated testing. The architecture is a flat collection of independent solution files rather than a cohesive software application.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
chaitin/PandaWiki β˜… 10316 1031 APPLICATION

PandaWiki is a production-ready, self-hosted AI knowledge base and wiki platform. The actual codebase implements document management with versioned releases, RAG-based Q&A and search, AI-assisted document summarization and editing, multi-source content ingestion (URL, RSS, Sitemap, Notion, Feishu, DingTalk, Confluence, EPUB, Wiki.js, Yuque, Siyuan, etc.), a customizable public landing page builder, analytics, comments, contribution review, and multi-channel bot integrations for WeChat, WeCom, DingTalk, Feishu/Lark, and Discord. It is not a data research repository, but it contains substantial document-ingestion and analytics pipelines that feed the RAG system. The architecture is a full-stack monolith-style application split across a Go backend (Echo + GORM + PostgreSQL + Redis + MinIO/S3 + NATS JetStream), a React admin panel (Vite/MUI/Redux), a Next.js public site, and a pnpm workspace of shared UI/icon/theme packages. The Go backend follows a layered design with handlers, use cases, repositories, middleware, and dependency injection via generated Wire code. A standalone MQ consumer process handles async RAG document updates, crawler exports, and cron-driven statistics aggregation. The public app is served separately from the admin panel, with an embeddable widget and an H5 chat interface. In production, documents are imported through crawler tasks or direct upload, converted to HTML/Markdown, chunked, and upserted into a configurable vector/RAG service. User chat requests rewrite the query, retrieve ranked chunks, and stream LLM responses via SSE with citations. Statistics are rolled up hourly into PostgreSQL. Authentication supports local accounts, JWT sessions, GitHub OAuth, LDAP, CAS, and enterprise SSO. Feature availability is gated by commercial license editions, with a private pro submodule adding enterprise functionality.

RATING: 7.5/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
nsf/termbox-go β˜… 4789 373 APPLICATION

termbox-go is a minimalistic Go library for building text-based user interfaces (TUIs). It provides a clean API for cell-based screen manipulation, keyboard and mouse input, and multiple output modes (normal, 256, 216, grayscale, RGB). The library abstracts over Unix terminals (via terminfo and ANSI escape codes) and the Windows console (via Win32 API). Architecture uses double-buffering: a back buffer is modified by the user, then flushed to a front buffer and rendered to the terminal. Input events are processed asynchronously via a goroutine and channel. The library is stable and widely used (godit, termui, gocui, etc.) but the README explicitly states it is no longer actively maintained; users may consider gdamore/tcell as a more modern alternative. The codebase is well-organized with platform-specific files using Go build tags, though it exhibits some global state and sparse test coverage.

RATING: 7.4/10 MAINT: stale DRIFT: medium
β–Έ 2 reusable components found
mezonai/mmn β˜… 297 2 APPLICATION

This is a Go-based blockchain node for the Mezon MainNet (MMN), implementing Proof-of-History (PoH) for transaction ordering, libp2p for peer-to-peer networking, gRPC and JSON-RPC for external APIs, and a leader-based consensus protocol with vote collection. The node supports three transaction types: Ed25519 key-based transfers, Groth16 ZK-proof transfers, and user content (social interactions). It uses either LevelDB or RocksDB as the persistent storage backend, with the latter bundled as vendored C headers. The codebase includes a CLI (init, bootnode, node, transfer), a client library, a stress-test tool with HTML reports, and a migration tool for importing user balances from CSV. The architecture is modular with clear interfaces for storage, mempool, events, and networking, making it a well-structured example of a modern blockchain validator node.

RATING: 7.4/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
aau-network-security/haaukins β˜… 198 40 APPLICATION

Haaukins is a cybersecurity training and Capture The Flag (CTF) platform developed at Aalborg University. It orchestrates isolated lab environments for teams, combining Docker containers and VirtualBox VMs to deliver challenges. The system is built as a set of gRPC microservices: a central daemon manages event lifecycle, team assignments, and challenge verification; a store service provides persistence; and an exercise service defines challenge configurations. Participants access labs via a web frontend (Amigo) using browser-based RDP (Guacamole) or WireGuard VPN. The daemon also handles DNS/DHCP per lab subnet, real-time scoreboards via WebSocket, and keylogging for monitoring. The CLI client (hkn) allows administrators to manage events, teams, and exercises. The architecture is modular with clean interfaces for virtualization (Docker/VirtualBox) and storage (in-memory with hooks or gRPC backend), though some components show tight coupling and aging dependencies.

RATING: 7.4/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
gookit/cache β˜… 197 18 APPLICATION

gookit/cache is a Go library that provides a unified caching interface (`Cache`) and a registry manager (`Manager`) to wrap multiple backend drivers. The core is minimal and well-abstracted, allowing users to switch between in-memory, file-based, Redis (via go-redis or redigo), Memcached, BuntDB, BoltDB, and other cache systems with a single API. The library includes two built-in drivers (memory and file) and partial stubs for Badger, LevelDB, and NutsDB. The codebase is cleanly structured with a `BaseDriver` that standardizes options like key prefixing, serialization, and logging. The `Manager` pattern is a reusable registry for any service-driven architecture. While several external drivers are outdated or incomplete, the core library is production-ready and well-tested, making it a solid choice for projects needing a simple, pluggable caching layer.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
β–Έ 6 reusable components found
vishen/go-chromecast β˜… 974 98 APPLICATION

go-chromecast is a Go application and library for discovering and controlling Google Cast (Chromecast) devices on a local network. It implements the CastV2 protocol using protobuf messages over TLS, with mDNS/DNS-SD discovery. The CLI, built with Cobra, exposes commands for status, playback, volume, text-to-speech, and a terminal UI; the same functionality is available programmatically through the application and cast packages.

RATING: 7.3/10 MAINT: active DRIFT: medium
β–Έ 2 reusable components found
g3n/g3nd β˜… 298 30 APPLICATION

g3nd is the official demo/showcase application for the g3n Go 3D game engine. It is a single Go binary that presents a windowed GUI (built on the engine's own immediate-mode GUI system) with a categorized demo tree. Users select demos that exercise the engine's capabilities: glTF/glb loading, PBR materials, animations (skinning, morph targets), audio (OpenAL), particle systems, post-processing shaders, and GUI widgets (tables, trees, sliders, form boxes, dock layouts). The application registers demos via Go's `init()` side-effect pattern: each demo package imports itself and calls `app.DemoMap["category.name"] = &struct{}{}`. The core `App` struct manages the scene graph, camera, orbit controls, and per-frame `Update` dispatch. The repository also vendors a large set of test assets (glTF sample models, Blender files, audio, textures) under `data/`. The architecture is a classic Go application: `main.go` imports all demo packages for their registration side effects, then delegates to `app.Create().Run()`. The `app` package owns the window, GUI, and demo lifecycle. Each demo implements a minimal `IDemo` interface (`Start`, `Update`, `Cleanup`). The `util` package provides reusable GUI helpers (file selectors, light meshes). The demos are grouped by category: animation, audio, experimental physics, geometry, GUI, light, loader, material, other, shader, texture. The code is idiomatic Go with clean separation, but some demos are marked experimental and the engine dependency is a pseudo-version that may drift.

RATING: 7.3/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
itsManjeet/avyos β˜… 196 10 APPLICATION

This repository is the build system for AvyOS, a Linux distribution that compiles all packages from source using a custom Go-based tool called 'ignite'. The system defines hundreds of YAML recipes under `elements/` for building the kernel, system libraries, desktop environments (KDE, GNOME, Xfce, Sway, etc.), development toolchains, and applications. The ignite tool handles dependency resolution, source fetching, containerized builds (via bubblewrap), and image generation (ISO, disk images, OSTree commits). The architecture is a declarative recipe system with reusable includes, patch management, and a web dashboard for monitoring builds. Key entry points are the `ignite` CLI and the YAML recipe files. External dependencies include upstream source tarballs, patches, and a custom build environment. The repository also includes configuration for secure boot, A/B updates, and live ISO booting. While the codebase is well-structured and demonstrates significant engineering effort, it is a personal project with limited documentation, many TODO comments, and potential drift due to custom kernel versioning and future-dated Go version requirements.

RATING: 7.3/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
processout/grpc-go-pool β˜… 490 76 APPLICATION

This repository implements a lightweight gRPC connection pool for Go applications. The library provides a thread-safe pool of gRPC client connections that can be reused across multiple goroutines, with configurable pool size, idle timeouts, and maximum connection lifetimes. It manages the full lifecycle of connections including creation, reuse, expiration, and cleanup. The implementation handles edge cases such as connection health checking, automatic replacement of stale connections, and proper error handling for timeouts and pool exhaustion. The core abstraction consists of a Pool struct that manages a channel of ClientConn wrappers, which track connection metadata and pool membership.

RATING: 7.2/10 MAINT: maintained DRIFT: low
β–Έ 1 reusable components found
barelyhuman/goblin β˜… 203 5 APPLICATION

Goblin is a web application that serves as a Go binary distribution service, allowing users to download and install Go binaries without having Go installed locally. The application consists of a Go-based HTTP server that resolves package versions from the Go proxy and GitHub, compiles binaries for requested OS/architecture combinations, and serves them to users. It includes a web frontend for documentation and usage examples, Docker configuration for easy deployment, and optional caching via S3-compatible storage. The architecture follows a standard web service pattern with clear separation between API handling, version resolution, binary building, and storage layers.

RATING: 7.2/10 MAINT: maintained DRIFT: low
β–Έ 3 reusable components found
mattermost-community/focalboard β˜… 26419 2577 APPLICATION

Focalboard is a self-hosted project management application offering board/card-based work organization similar to Trello. The architecture consists of a Go backend server providing REST/WebSocket APIs, a React/TypeScript frontend with Redux state management, and native desktop clients (macOS Swift, Windows WPF, Linux) that embed the web UI. Key features include boards with multiple views (table/kanban/calendar/gallery), customizable properties, real-time collaboration, import/export from external tools (Trello, Asana, Notion), sharing capabilities, and Mattermost plugin compatibility. Data is stored in SQL databases (SQLite/MySQL/PostgreSQL) with schema migrations. The repository exhibits a maintenance warning indicating the project is currently not maintained despite recent commits, suggesting stale status with potential dependency drift.

RATING: 7.0/10 MAINT: stale DRIFT: medium
β–Έ 5 reusable components found
chamanbravo/upstat β˜… 200 22 APPLICATION

Upstat is a self-hosted, open-source status monitoring and uptime tracking tool. The system consists of a Go (Fiber v2) backend API and a Next.js 15 web dashboard, deployed via Docker Compose with support for both PostgreSQL and SQLite databases. The backend periodically pings configurable HTTP endpoints, records heartbeats, calculates uptime percentages, and manages incidents triggered by status transitions. It integrates with multiple notification channels (Discord, Slack, Telegram, Ntfy, Gotify) and provides public status pages with real-time latency charts. The frontend uses shadcn/ui components, React Hook Form with Zod validation, and a custom client fetch wrapper for authenticated API calls. The monorepo also includes a documentation site (Fumadocs) and a static landing page. While the architecture is well-structured with clear separation of concerns (controllers, routes, models, utils), the codebase shows signs of technical drift including outdated dependencies, hardcoded secrets in Docker Compose files, committed SQLite database artifacts, and documentation inconsistencies between the manual API docs and generated OpenAPI spec. The project is functional and suitable for small to medium deployments but would benefit from dependency updates and cleanup before production use.

RATING: 6.9/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
aydinnyunus/exifLooter β˜… 499 29 APPLICATION

The exifLooter is a command-line application written in Go that extracts EXIF metadata, particularly GPS coordinates, from image files. It relies on the external exiftool command-line utility to perform the actual metadata extraction and provides a user-friendly interface for analyzing single images, directories of images, or images downloaded from URLs via stdin. The tool also offers functionality to remove all metadata from images and to generate OpenStreetMap URLs from GPS coordinates found in images. The architecture is a standard CLI tool built using the Cobra library for command parsing and the fatih/color library for colored terminal output. The main entry point is in main.go, which delegates to the command defined in cmd/root.go. The core functionality involves invoking exiftool via os/exec, parsing its output to detect GPS-related tags, and presenting the results with color-coded warnings when geolocation data is detected. Additional features include downloading images from URLs (with validation of content type) for batch processing in a pipe mode. While the tool fulfills its intended purpose, the codebase exhibits some areas for improvement: the pipe mode's image validation step is inefficient (rescanning the entire directory for each download), the OpenStreetMap URL generation function incorrectly handles southern and western hemisphere coordinates, and there is a lack of automated tests. Despite these issues, the project is actively maintained with recent commits and uses dependency management via Go modules.

RATING: 6.8/10 MAINT: maintained DRIFT: medium
β–Έ 2 reusable components found
google/go-cloud β˜… 9910 860 APPLICATION

This repository is the Go Cloud Development Kit (Go CDK), a multi-cloud SDK that provides portable, driver-based abstractions for common cloud services including blob storage, pub/sub messaging, document stores, runtime configuration variables, secrets management, and SQL databases (MySQL/PostgreSQL). The architecture follows a consistent pattern: each service defines a driver interface (e.g., `driver.Bucket`, `driver.Topic`, `driver.Collection`) and a portable wrapper that adds error handling, retries, OpenTelemetry instrumentation, and a URL-based opener multiplexer (`URLMux`). Concrete drivers exist for Google Cloud Platform (GCS, Pub/Sub, Firestore, Cloud SQL, KMS), Amazon Web Services (S3, SNS/SQS, DynamoDB, Parameter Store, Secrets Manager, KMS), Microsoft Azure (Blob Storage, Service Bus, Key Vault), and local/testing backends (in-memory, filesystem). The project also includes sample applications (guestbook, order processing, CLI tools), a Hugo-based documentation website, and extensive conformance test suites that use recorded HTTP/gRPC interactions for deterministic replay testing. The codebase demonstrates strong architectural patterns (driver abstraction, URL-based resource opening, batcher for pub/sub, codec for document stores) and comprehensive observability via OpenTelemetry. However, the code uses a non-standard Go dialect (e.g., `import` with quoted strings, `type` for interfaces, `var` for variables) that is not standard Go, which significantly limits tooling support, contributor familiarity, and reusability outside this project. Many drivers and internal utilities are tightly coupled to this custom language, making extraction difficult. The project appears to be in alpha status with several incomplete features, TODOs, and a large dependency surface across multiple cloud SDKs, indicating a high maintenance burden. The last commit date is in the future (2026-10-01), which is likely erroneous, but the overall activity suggests the project may have slowed or been abandoned.

RATING: 6.7/10 MAINT: stale DRIFT: medium
β–Έ 5 reusable components found
pdfcpu/pdfcpu β˜… 8861 640 APPLICATION

pdfcpu is a comprehensive PDF processing library and command-line tool. It provides a full suite of operations including validation, optimization, encryption, digital signing (PAdES/CAdES), form filling, watermarking, page imposition (booklet, n-up), content extraction, and PDF creation from JSON. The architecture is a monolithic library with a clear separation between a public API layer (`pkg/api/`), CLI command definitions (`pkg/cli/`), core processing logic (`pkg/pdfcpu/`), and a robust validation engine (`pkg/pdfcpu/validate/`). It implements a staged output pattern for safe file writes and a context-based cancellation system. While the feature set and test coverage are exceptional, the codebase is written in a non-standard Go dialect (using `func`, `type`, `var` keywords and a `go 1.25.0` module version), which represents a significant technical drift risk and limits its maintainability by the broader Go ecosystem. Despite this, it contains several genuinely reusable, well-crafted components such as its LZW codec, safe math utilities, path sanitizer, and BER/DER parser.

RATING: 6.7/10 MAINT: active DRIFT: high
β–Έ 9 reusable components found
nikolaydubina/go-recipes β˜… 4500 168 APPLICATION

This repository is a curated collection of recipes and tools for Go development, organized into categories such as testing, dependencies, code visualization, code generation, refactoring, errors, build, assembly, deployment, execution, monitoring, benchmarking, documentation, security, static analysis, and guides. The actual codebase is minimal: a Go module with a three-line main.go that generates the README.md from a structured YAML file (page.yaml) using the mdpage library. The primary value is the content itself, which serves as a reference for Go developers to discover and utilize various tools and techniques. The project is actively maintained, with up-to-date dependencies and a simple CI workflow for markdown link validation.

RATING: 6.7/10 MAINT: active DRIFT: low
overnote/over-golang β˜… 4473 820 APPLICATION

This repository is a comprehensive collection of Go language learning notes, organized into multiple directories covering basic syntax, concurrency, project management, web programming, popular frameworks (e.g., Gin), microservices, standard library, and Go runtime internals. The content is presented as Markdown files with embedded code snippets and diagrams, serving as a structured tutorial for Go developers. It does not contain any executable Go code or reusable software components; it is purely educational material. The notes are well-structured and cover a wide range of topics from beginner to advanced, making it a valuable reference for learning Go.

RATING: 6.5/10 MAINT: active DRIFT: low
GoBelieveIO/im_service β˜… 1983 604 APPLICATION

GoBelieveIO/im_service is an instant messaging (IM) server infrastructure implemented in Go. It provides real-time peer-to-peer messaging, group chat (including super groups for large audiences), and chat rooms. The system is designed for clustered deployment and consists of three separate processes: `im` (access server handling client TCP/WebSocket connections), `ims` (storage server using append-only file logs with in-memory indexes), and `imr` (router server coordinating message delivery between access servers). Authentication is token-based (Redis or JWT). Message storage is per-user file-based with efficient offline message synchronization via sync keys. The codebase includes a custom binary protocol over TCP/WebSocket, a Redis-backed pub/sub mechanism for group events and relationship changes, and MySQL for group and friend data. This is a production-grade system (as indicated by its star count) with comprehensive benchmark tools and Python integration tests. However, the repository appears to be in a maintenance-stale state with no recent commits and some deprecated message types.

RATING: 6.5/10 MAINT: stale DRIFT: medium
β–Έ 3 reusable components found
feihua/zero-admin β˜… 985 228 APPLICATION

This is a large, scaffolded e-commerce backend system built with the go-zero microservice framework. It implements a full suite of admin and frontend APIs for managing products, orders, members, coupons, content, and system settings. The architecture is microservices-based with separate RPC services for each domain (sys, cms, oms, pms, sms, ums) plus search, consumer, and job services. The codebase is heavily generated using goctl and gorm.io/gen, resulting in a high volume of boilerplate CRUD logic filesβ€”many of which are still stubs containing only 'todo: add your logic here' comments. While the system demonstrates a consistent pattern for service decomposition and provides reusable utility packages (pkg/errorx, pkg/time_util, pkg/mq), the majority of business logic is incomplete, and there are signs of technical drift such as duplicate JWT library usage, mixed ORM approaches, and hardcoded configuration values. The project is actively maintained but still in a work-in-progress state, with the README warning of significant backend changes and incomplete frontend adaptation.

RATING: 6.4/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
$ loading more...
$ submit: