Secure digital helpdesk platform
- Create new @link-stack/logger package wrapping Pino for structured logging - Replace all console.log/error/warn statements across the monorepo - Configure environment-aware logging (pretty-print in dev, JSON in prod) - Add automatic redaction of sensitive fields (passwords, tokens, etc.) - Remove dead commented-out logger file from bridge-worker - Follow Pino's standard argument order (context object first, message second) - Support log levels via LOG_LEVEL environment variable - Export TypeScript types for better IDE support This provides consistent, structured logging across all applications and packages, making debugging easier and production logs more parseable. |
||
|---|---|---|
| apps | ||
| docker | ||
| packages | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .nvmrc | ||
| docker-compose.bridge-dev.yml | ||
| LICENSE.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| turbo.json | ||
CDR Link
CDR Link is a simple & streamlined helpdesk that lets you tag, assign and respond to your tickets. It is developed by the Center for Digital Resilience and powered by Zammad.
Key differences between CDR Link and a standard Zammad installation:
- In addition to the full Zammad interface, CDR Link also provides a simplified 'shell' interface that focuses on the most-commonly-used functionality.
- Additional channels to communicate with users, including Signal, Whatsapp & Twilio voice messaging.
- More stringent privacy defaults: ticket data is never sent over email and calls to third-party services are restricted.
Developing
This is a monorepo that contains CDR Link and several supporting applications and libraries. It also includes Dockerfiles to build all of the other containers required for an installation. By tagging our own versions of these dependencies, we can make sure that different versions of the supporting containers all work together and are updated in sync.
We use Turborepo to manage development and building of the packages. To get started:
npm installin the root directoryturbo buildto build all packages
To run a single package:
turbo dev --filter @link-stack/link