Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,789 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

FLAME Hub

FLAME Hub

Central services for the FLAME platform.
Privacy-preserving, federated analytics across distributed institutions —
analysis orchestration, object storage, telemetry & real-time messaging.

CI CodeQL node >=22 Conventional Commits DOI license

Documentation  ·  Quick Start  ·  Services  ·  Packages  ·  Contributing


FLAME Hub is the home of the central services for FLAME (PrivateAIM) — a privacy-preserving analytics infrastructure that runs distributed computations across institutional boundaries without moving the underlying data. This monorepo bundles the backend services, the web frontend, the shared TypeScript libraries, and the documentation site.

Architecture

Architecture

Services

Runnable applications. Each backend service follows the same hexagonal (ports & adapters) architecture and ships in the shared privateaim/hub Docker image.

Service Description
server-core 🌐 Main REST API — analyses, projects, nodes, registries
server-core-worker 🏭 Background worker — Docker container build & distribution
server-storage 📦 File / object storage (MinIO / S3)
server-telemetry 📊 Log aggregation & events (VictoriaLogs)
server-messenger 💬 Real-time messaging (Socket.io)
client-ui 🖥️ Nuxt 4 web application
docs 📚 VitePress documentation site

Packages

Shared, independently published libraries (@privateaim/*).

Foundation

Package Description
kit 🧱 Core utilities — crypto, domain events, permissions, realms npm
errors 🚨 Shared error vocabulary — HubError, typed subclasses, code → HTTP-status mapping npm

Domain Kits

Domain models, contracts, and typed HTTP / WebSocket clients per service area.

Package Description
core-kit 🧩 Domain models & types for the core service npm
core-http-kit 🔗 HTTP client for the core API npm
core-realtime-kit WebSocket event contracts for the core API npm
storage-kit 📦 Storage domain types & HTTP client npm
telemetry-kit 📊 Telemetry domain types & validators npm
messenger-kit 💬 Messenger contracts & crypto types npm
messenger-http-kit 📨 HTTP client for the messenger broker npm

Server Kits

Server-side building blocks shared across the backend services.

Package Description
server-kit 🔧 Server foundation — logging, auth, AMQP, Redis, DI npm
server-db-kit 🗄️ TypeORM utilities & migration support npm
server-http-kit 🌍 HTTP middleware & Swagger / OpenAPI npm
server-realtime-kit Socket.io server helpers npm
server-storage-kit 📦 Storage service components npm
server-telemetry-kit 📊 Telemetry components & Winston transport npm
server-core-worker-kit 🏭 Worker task definitions npm
server-test-kit 🧪 Shared test fakes & helpers npm

Client

Package Description
client-vue 🎨 Vue 3 component library npm
client-vue-theme 🌈 vuecs-based theme — design tokens & chrome npm

Quick Start

Prerequisites

  • Node.js 22+
  • npm (workspaces)
  • Docker (optional) — for MySQL / Postgres test databases

External services (for running the backend locally): Authup (OAuth2), Redis, RabbitMQ, and MySQL or PostgreSQL.

Install & Build

# Install dependencies
npm ci

# Build all packages (Nx, dependency-aware)
npm run build

# Run the test matrix
npm run test

# Lint
npm run lint

Development

# Start local databases (MySQL + Postgres)
docker-compose up -d

# Dev servers
npm run dev --workspace=apps/client-ui          # Nuxt frontend
npm run dev --workspace=apps/server-core        # Core API
npm run dev --workspace=apps/server-storage     # Storage service
npm run dev --workspace=apps/server-telemetry   # Telemetry service
npm run dev --workspace=apps/server-messenger   # Messenger service
npm run dev --workspace=docs                    # Documentation site

Built With

FLAME Hub is built on a stack of open-source libraries maintained by the same author: Authup (identity & access), Routup (HTTP routing), Hapic (HTTP clients), validup (validation), ilingo (i18n), and vuecs (Vue components & theming).

Contributing

Before starting to work on a pull request, it is important to review the guidelines for contributing and the code of conduct. These guidelines will help to ensure that contributions are made effectively and are accepted.

Credits

Created and maintained by Peter Placzek (@tada5hi), with contributions from the PrivateAIM team. If you have any questions, feel free to reach out.

Citation

If you use FLAME Hub in academic work, please cite it. Citation metadata is maintained in CITATION.cff — GitHub renders a "Cite this repository" button from it.

DOI

License

Made with 💚

Published under Apache 2.0.

About

Central services for the FLAME platform (PrivateAIM), privacy-preserving federated analytics across distributed institutions: analysis orchestration, object storage, telemetry & real-time messaging.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages