The foundational middleware library for Drumee back-end services.
npm i @drumee/server-coreserver-core owns the parts every Drumee back-end service needs:
- the HTTP request and response lifecycle
- session management
- authentication and authorisation — the bitwise ACL model
- the meta filesystem (MFS)
- media conversion
It is a library only. It has no server entry point of its own: consuming
services instantiate the pipeline and supply the business logic. The main
consumer is server-team; others include
onboarding-server and sandbox-server.
docs/ARCHITECTURE.md in this repository is the authoritative reference. It
covers hub multi-tenancy, the full request pipeline, session states, the bitwise
ACL model, the MFS node layout, the output envelope and the exception-to-HTTP
mapping. Read it before making non-trivial changes, and keep it updated
alongside the code.
Platform documentation: docs.drumee.com.
| Path | What it holds |
|---|---|
lib/ |
The library itself; lib/index.js is the entry point |
schemas/ |
Schema helpers used by the core |
bin/ |
Maintenance scripts |
docs/ |
Architecture reference |
npm test # runs test:modules, test:acl and test:db in sequence
npm run test:modules # instantiates MariaDB, cache, redis store, logger, offline
npm run test:db # SELECT 1 and SHOW TABLES against the yp databaseThese are smoke tests against a live environment, not a unit-test harness — there is no test runner, no linter and no build step. A failure usually means the environment is not up rather than that the code is broken, so check the environment before chasing a code change.
@drumee/server-essentials —
database, cache, logging, mail and template primitives.
See the org CONTRIBUTING guide. Questions: Discussions.
AGPL-3.0 — see LICENSE.