About this project

Harper is an open-source Node.js unified development platform that combines database, cache, application logic, and messaging into a single in-memory process. It aims to eliminate external dependencies and reduce latency by keeping data and compute in the same memory space, enabling microsecond-level access times and high throughput. Key features include: - Unified runtime: database, cache, app logic, and messaging all run in one Node.js process. - In-memory performance: shared memory space for data and compute. - Native messaging: built-in publish/subscribe with WebSockets and MQTT, no external broker needed. - Developer simplicity: annotate schemas with `@export` to auto-generate REST APIs; custom endpoints can be defined in JavaScript. Deployment: Harper Fabric (a separate service) provides horizontal scalability by distributing workloads across multiple nodes. Installation: `npm i -g harper`. Contributing: The open-source core accepts community contributions; guidelines, code of conduct, and support docs are provided. Issues can be filed on GitHub, and community discussion happens on Discord. Harper Pro: A source-available distribution built on the open-source core, adding enterprise features like multi-node replication, certificate management, and extended profiling/analytics. It is licensed under the Elastic License 2.0. History: Harper was previously named HarperDB; the rebrand in 2025 reflects its evolution from a database to a broader performance platform. Some references to the old name may remain. Security: Vulnerabilities should be reported privately to security@harperdb.io before public disclosure. License: Apache-2.0.