Supervizer is a Node.js process manager that provides CLI and RESTful API interfaces for spawning, stopping, and managing Node.js applications. It follows a client-server architecture where the supervizer-client communicates with a supervizer-server via HTTP to manage application processes. The server maintains application state in memory, supports process monitoring, file watching for automatic restarts, grouping of applications, and secure authentication. Key features include keeping applications alive on crash, resource monitoring (CPU/memory), log and PID file management, and JSON-based configuration persistence.
WarriorJS is a terminal-based educational game that teaches JavaScript and TypeScript through interactive coding challenges. Players write a `Player` class with a `playTurn(warrior)` method to control a warrior navigating grid-based towers filled with enemies, captives, and stairs. The game runs as a CLI application using Ink (React for terminal UI) and relies on a sandboxed code execution environment via Node's `vm` module and esbuild. The monorepo structure includes a CLI app, game engine (`@warriorjs/core`), abilities library (`@warriorjs/abilities`), units library (`@warriorjs/units`), scoring module, spatial math helpers, effects, and two sample towers. The codebase demonstrates clean architecture with well-separated concerns, extensive test coverage, and reusable patterns such as the ability/effect binding factory and sensed space wrappers. However, the project has been inactive since 2018 (last release v0.14.0), the documentation website uses the deprecated Docusaurus v1, and there are some mixed module system usages. Despite being stale, the game engine and ability system remain functional and could be extracted for similar turn-based coding games or sandboxed code execution.
NodeGui is a Node.js native addon that wraps the Qt framework to enable building native, cross-platform desktop applications using JavaScript or TypeScript. The architecture consists of two layers: TypeScript wrapper classes (under `src/lib/`) that provide a developer-friendly API, and C++ N-API (node-addon-api) wrappers (under `src/cpp/`) that directly interface with Qt widgets, layouts, and core types. A custom Node.js fork called Qode merges the Qt event loop with Node's event loop, and Facebook's Yoga library provides CSS Flexbox layout integration. The project exposes over 100 Qt widgets, including buttons, dialogs, tables, trees, text editors, menus, system tray, and clipboard, along with a comprehensive set of Qt enums and signal/event handling. The build system uses CMake with reusable modules for Qt, Napi, and Qode support, and the project includes a Docusaurus documentation site with API references and development guides.
This repository is an automated maintenance and triage system called 'Clownfish' (ProjectClownfish) that manages the large open-source `openclaw/openclaw` repository. It is a Node.js application driven by GitHub Actions workflows that continuously processes GitHub issues and pull requests: performing deduplication, canonical selection, security-sensitive detection, automated repair of contributor branches, exact-head merge preflight validation, and closeout of superseded/fixed-by-candidate items. The system operates in plan (read-only), autonomous (lightweight actions), and execute (mutating) modes, with strict permission boundaries defined in YAML frontmatter job files. It relies on the GitHub API, a Codex/AI worker for classification, and a suite of deterministic safety gates (re-fetch live state, check updated_at, block unsafe closeouts) before any mutation. The codebase is well-structured with clear separation of concerns (scripts, job definitions, results), but it is tightly coupled to the specific workflow of a single large repository, limiting direct reuse. Notable patterns include a robust job frontmatter schema, deterministic preflight validation, and a centralized security routing mechanism.
node-xml2js is a mature, well-tested Node.js library for bidirectional conversion between XML and JavaScript objects. It uses sax-js for parsing and xmlbuilder-js for building, providing a simple callback or Promise-based API. The library supports extensive configuration options including attribute and tag name processors, value processors, namespace handling, CDATA, and various output formatting. The source code is written in CoffeeScript (compiled to JavaScript), which is now a deprecated language, and the dependencies are outdated (sax >=0.6.0, xmlbuilder ~11.0.0). While the library is functionally complete and has been widely used (over 4900 stars), it has not seen active development in years, and the CoffeeScript source presents a barrier for modern contributions. The codebase is well-structured with clear separation of concerns, but the technical drift is high due to the use of deprecated tools and outdated dependency versions.
This is a fully-featured OAuth2 and OpenID Connect authentication and authorization server built with Node.js/TypeScript and the Curveball framework. It provides user management, role-based access control, multi-factor authentication (TOTP, WebAuthn), and an administrative web UI. The project is self-contained with its own database migrations, CLI binary, and Docker support. It supports multiple database backends (PostgreSQL, MySQL, SQLite) via Knex. The codebase is well-structured following a modular architecture with clear separation between controllers, services, and format handlers. It implements the OAuth2 authorization framework including authorization code, client credentials, implicit, and refresh token grants with PKCE support. The OpenID Connect layer provides discovery, JWKS, and userinfo endpoints. Authentication is modular with pluggable challenge strategies for passwords, TOTP, email OTP, and WebAuthn. The project is retired, as explicitly stated in the README, and the authors recommend migrating to Keycloak. Despite being deprecated, the code remains a solid reference implementation for OAuth2/OIDC in Node.js and contains several reusable components including an abstract key-value store, an SMS adapter pattern, and cryptographic utilities.
FitMart is a full-stack fitness e-commerce application built with React 19, Node.js/Express 5, MongoDB (Mongoose 9), Firebase Authentication, and Razorpay payments. It provides a product catalog, shopping cart, checkout flow, order management, user profiles, fitness calculators (BMI, calorie), workout tracking, a rewards system, and an AI chatbot powered by Gemini. The admin dashboard includes KPI grids, customer segmentation, inventory management, sales reports, and bug tracking. The architecture is a monolith with separate client and server directories, using Docker for containerization and GitHub Actions for CI/CD. While the codebase is well-structured with modern patterns (Zod validation, atomic database operations, Redis caching), it suffers from incomplete features, hardcoded values, security gaps (dev admin bypass, hardcoded admin UID), inconsistent error contracts, and limited test coverage. The high number of open issues (276) suggests community engagement but also maintenance challenges.
FUXA is a full-stack web-based SCADA/HMI platform for industrial automation. It provides real-time data acquisition from a wide variety of PLCs and industrial protocols (Modbus, OPC UA, Siemens S7, BACnet, MQTT, etc.), a drag-and-drop SVG editor for building process visualization dashboards, and runtime rendering with alarms, data logging (DAQ), scripting, recipes, and scheduling. The architecture is a monolithic Angular 18 frontend with a Node.js/Express backend, communicating via Socket.IO and REST APIs. It also supports Electron desktop packaging and Node-RED integration. The codebase is large and functional, with many device drivers and UI controls, but suffers from code duplication, copy-paste driver implementations, mixed coding styles, outdated dependencies (moment.js, CoffeeScript gauge library), and a large un-lazy-loaded Angular module. Despite these issues, it is actively maintained and used in production by many industrial users.
A minimalist Node.js HTTP server that streams an animated ASCII art party parrot to curl clients. The server loads ten ASCII frames from local files into memory, colors them randomly from a palette, and streams them with a 70ms interval, respecting backpressure. It also supports an optional `?flip=true` query parameter to mirror the animation horizontally. The primary entry point is `index.js`, with an `nginx.conf` for reverse proxy deployment and a PowerShell script for Windows clients. The system is a single-file monolith with no database, no external APIs, and two npm dependencies (colors and mz). It is designed for a single playful purpose: `curl parrot.live` displays the animated parrot in terminals. The code is straightforward, functional, but lacks tests, CI, or modularity beyond the single server file.
Hayroo is a full-stack MERN e-commerce application built as a tutorial/demo project. It enables product browsing, cart management, checkout with Braintree sandbox payment, user authentication (JWT), and an admin dashboard for managing categories, products, orders, and slider images. The frontend uses React with Context API and useReducer for state management, while the backend is an Express.js REST API with MongoDB/Mongoose. The code follows standard patterns for a teaching project but lacks tests, CI/CD, and advanced optimizations. It is a functional, unremarkable implementation suitable for learning MERN stack concepts.
This repository is a Node.js/TypeScript library for dependency injection (DI), heavily inspired by Symfony's DI container. It provides a service container that manages object construction, autowiring (automatic dependency resolution from constructor parameter types), and service configuration via YAML, JSON, JavaScript, and XML files. The library supports advanced features such as compiler passes, service decoration, tagged and keyed services, conditional service registration, lazy loading, and graph export. It includes a CLI tool for generating configurations and inspecting the container. The architecture follows a modular design: a ContainerBuilder manages definitions and compilation, loaders parse configuration files, and a compiler runs passes in ordered phases (optimization, removal, decoration). Autowiring uses TypeScript's AST (via @typescript-eslint/typescript-estree) to scan source files and register services automatically. The library also provides validation, graph export in multiple formats (JSON, Mermaid, DOT), and a condition evaluation system for environment-aware service registration. The codebase is well-structured with clear separation of concerns, extensive tests (both JavaScript and TypeScript), and demonstrates several design patterns (compiler pass, strategy for loaders/dumpers, reference objects, condition evaluation). However, the project appears unmaintained: the last CHANGELOG entry is from 2018, dependencies are outdated (e.g., commander v8, chalk v4, TypeScript 4.6.4), and the package.json version is 0.0.0. Despite its age, the core concepts remain relevant and the code quality is solid for a library of its kind.
This repository is a sample GitHub App that demonstrates how to use webhooks with a GitHub App's installation token to create a bot that responds to pull request events. The application listens for `pull_request.opened` webhook events and automatically comments on the pull request with a predefined message from `message.md`. It is built with Node.js, uses the Octokit library for GitHub API interactions, and the `@octokit/webhooks` middleware to handle webhook verification and routing. The architecture is a simple HTTP server that exposes a `/api/webhook` endpoint. The code is straightforward and serves as a minimal example for developers to understand the basics of building a GitHub App. It includes environment variable configuration via dotenv, private key loading from file, and basic error handling. There are no tests, no complex data flows, and no reusable components beyond the pattern itself.
LobsterBoard is a self-hosted, drag-and-drop dashboard builder implemented as a monolithic Node.js server with a vanilla JavaScript frontend. It provides real-time system monitoring via SSE, 50+ configurable widgets (weather, finance, AI usage, system stats, etc.), a template gallery, custom pages with server-side APIs, and remote server management with ECDH-encrypted polling. The server handles authentication (password/PIN/public mode), secrets management, proxy with SSRF protection, and AI provider integrations. The frontend consists of modular editor components (canvas, drag-drop, properties, export) and a widget library using a simple generateHtml/generateJs pattern. The architecture is straightforward but lacks modern framework abstractions, has some code duplication between source and legacy files, and uses eval for widget JS generation, posing potential security risks. The project is actively maintained (recent commits, CHANGELOG) but shows signs of technical drift: dated JavaScript patterns (var, IIFEs), manual DOM manipulation, and a BSL license that restricts commercial use.
This repository is a full-stack, multi-client rental property management platform called 'rightHouse' (房适). It consists of three frontends: a Vue 3 + Arco Design admin panel (RH-admin), a uni-app landlord mobile app (RH-landlord), and a uni-app tenant mobile app (RH-tenant), all backed by an Egg.js Node.js REST API (RH-server) with MySQL, Redis, MinIO, and OSS storage. The system enables landlords to publish houses, tenants to search and apply for rentals, and administrators to manage users, houses, and lease applications. Key workflows include lease application with approval flow, maintenance requests, rental market listings with location-based search, and tenant reviews. The architecture is monolithic on the server side but with separate client applications sharing some UI components (uView UI) and a custom HTTP client (luch-request). The codebase is functional and covers the full rental lifecycle, but suffers from duplicated UI component libraries across mobile apps, mixed Vue 2/Vue 3 frameworks, hardcoded configuration values, and lack of automated tests. The admin panel uses modern Vue 3 tooling, while the mobile apps rely on the older uView 2.0 library. The server side includes JWT authentication, SMS notifications, and file upload capabilities. Overall, it is a solid but not exceptional implementation of a rental management system, useful as a reference for similar multi-tenant applications but with several areas of technical debt.
Pencil is an open-source GUI prototyping tool for creating wireframes and mockups across platforms. It is built as an Electron desktop application with a custom UI framework that includes a canvas for SVG-based shape editing, a stencil/collection system for reusable UI components, and export pipelines to SVG, PDF, ODT, HTML, and PNG. The architecture is a monolith with a main process (app/index.js) managing windows and IPC, and a renderer process handling the UI and canvas interactions. The codebase shows a migration from legacy Mozilla XULRunner to Electron, resulting in a mix of old XUL/XPCOM code and modern JavaScript/Node.js patterns. Key data flows involve loading shape definitions from XML collections, manipulating shapes on an SVG canvas, and serializing documents to custom archive formats (.ep, .epz, .epgz). External dependencies include Electron, various npm packages (adm-zip, archiver, jimp, perfect-freehand), and system fonts. The repository also contains a web-based asset management subsystem (DataTable, MapView) that appears to be a separate concern embedded within the same codebase.
Ottoman is a Node.js Object-Document Mapper (ODM) for Couchbase, heavily inspired by Mongoose. It provides a schema-driven modeling layer with type validation, hooks, indexes, and a programmatic N1QL query builder. The library abstracts CRUD operations on Couchbase documents, supports distributed ACID transactions, full-text search, and automatic index management (N1QL, View, and RefDoc indexes). It is designed for production use with TypeScript, includes extensive test coverage against a real Couchbase instance, and offers a CLI for scaffolding. The codebase is well-structured but shows signs of stagnation: the last release (2.5.8) is unpublished, dependencies are outdated (Node >=8, couchbase SDK v4, lodash 4.18.1), and the CHANGELOG has not been updated since early 2022. Despite this, the core architecture is solid and the library remains functional for existing Couchbase projects.
emfont is a free, open-source CJK web font service that provides on-demand, dynamically subsetted fonts and pre-generated static font packs. The backend is built with Node.js 22 and the Fastify framework, using PostgreSQL for metadata, Redis for caching, and MinIO (or optionally Cloudflare R2) for font file storage. The service exposes a REST API for font generation (`/g/:font`), CSS integration (`/css/:font`), and an admin panel for font upload, editing, and user management. A client-side JavaScript library (`emfont.js`) scans DOM elements with `emfont-*` classes and loads the correct subset fonts, with local caching via localStorage. The system supports Unicode script classification for language coverage analysis and uses worker threads for parallel static font regeneration. Deployment is Dockerized with a multi-stage build, and monitoring includes Prometheus metrics and optional Pyroscope profiling. The codebase is well-structured with clean separation of concerns (routes, utilities, fonts), but lacks automated tests and has minor security concerns (admin session secret fallback), and some hardcoded URLs that reduce portability.
This repository provides a collection of scripts and lightweight HTTP servers for automated deployment and management of sing-box multi-protocol proxy nodes. It supports VLESS-REALITY, VMess-WebSocket (with optional Cloudflare Argo tunnel), Hysteria2, and TUIC v5 protocols, along with Nezha monitoring agent integration. The primary use case is setting up proxy services on VPS or free hosting platforms like Serv00/CT8, with additional 'toy' implementations for game hosting environments using Go, Node.js, PHP, and Python. The architecture is script-driven: large Bash scripts (sing-box.sh, sb_serv00.sh) handle installation, configuration, and service management via interactive menus or environment variables. They download precompiled binaries, generate sing-box JSON configurations, and manage systemd or OpenRC services. The supplementary HTTP servers (Node.js, Python, PHP) provide subscription endpoints and process lifecycle management, downloading and running a core binary (sbsh) that performs the actual proxy setup. The PHP check.php script offers standalone server environment diagnostics. Code quality is average overall. The Bash scripts are functional but contain significant duplication across Serv00 variants and lack modularity. The Node.js and Python HTTP servers are well-structured and demonstrate clean asynchronous patterns, while the PHP diagnostic script is a polished, self-contained tool. There is no test suite or CI/CD, and external binary URLs are hardcoded, posing medium technical drift risk. The repository is actively maintained by a large community, making it a practical solution for proxy deployment despite its architectural limitations.
LiveAutoRecord is a multi-platform live stream recording application built on a TypeScript monorepo architecture. It supports three distinct deployment modes: a desktop client (Electron), a headless HTTP server (Express), and a CLI tool. The core functionality revolves around automatically detecting live streams from platforms like Bilibili, Douyu, Huya, and Douyin, resolving stream URLs, and capturing video via FFmpeg while simultaneously collecting metadata such as danmu and gift messages. The system uses a provider pattern to allow extensibility for new platforms. The architecture relies heavily on Node.js 22+ and Electron 40, indicating a commitment to bleeding-edge runtime versions. Data persistence is handled via LowDB with JSON file adapters, which serves the application's needs but introduces scalability limitations for large datasets. The codebase demonstrates solid engineering practices in its separation of concerns, with distinct packages for core logic, platform-specific adapters, and shared utilities. However, the reliance on platform-specific anti-crawl logic (e.g., VM execution for Huya, signature generation for Douyu) creates inherent fragility. A critical technical debt issue is the use of the `vm2` library in the Douyu recorder, which carries known critical security vulnerabilities (CVE-2023-37466). While a replacement plan exists in the documentation, the current state poses a significant security risk. Additionally, the high number of open issues (89) relative to the star count suggests accumulating technical debt and feature requests that may impact long-term stability.
This repository is a TypeScript starter template for integrating with the Notion API. It provides a minimal setup for a Node.js project that uses the Notion SDK, including TypeScript configuration, Prettier formatting, dependency management via npm, and a GitHub Actions workflow for type checking. The main application code in `src/index.ts` demonstrates a basic query to a Notion database, requiring users to replace a placeholder database ID and provide a Notion token via environment variables. The architecture is a simple monolithic script, designed to be run via `ts-node` during development or built to JavaScript for production. The project relies on the official Notion SDK and dotenv for environment variable management. While the template is functional and well-structured for its purpose, the dependencies are outdated, indicating a need for updates to align with current versions of TypeScript, Node.js types, and other tooling.