Mirror of github.com/Memo-2023/mana-monorepo
Find a file
Till-JS f47bf8edd9 refactor(todo): use express middleware for HTTP metrics
Moved HTTP request metrics tracking from NestJS interceptor to Express
middleware in main.ts. This ensures ALL requests are tracked, including
those rejected by auth guards before reaching the handler.

- Remove MetricsInterceptor (wasn't capturing guard exceptions)
- Add Express middleware in main.ts for metrics collection
- Track all HTTP requests including 401/403/404 responses

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:00:06 +01:00
.claude feat(todo): add Prometheus metrics and update docs 2026-01-25 13:31:44 +01:00
.github feat(infra): add Telegram Stats Bot for ManaCore analytics 2026-01-23 20:39:04 +01:00
.husky feat(husky): add helpful error messages to git hooks 2025-12-17 18:39:41 +01:00
apps refactor(todo): use express middleware for HTTP metrics 2026-01-25 14:00:06 +01:00
cicd 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
docker feat(todo): add Prometheus metrics and update docs 2026-01-25 13:31:44 +01:00
docs feat(analytics): add Umami event tracking utilities 2026-01-23 17:58:04 +01:00
games 🔀 merge: integrate till-dev into main 2026-01-18 15:40:43 +01:00
packages feat(analytics): add Umami event tracking utilities 2026-01-23 17:58:04 +01:00
scripts feat: add dev scripts for presi and storage apps 2026-01-25 13:27:55 +01:00
services feat(infra): add Telegram Stats Bot for ManaCore analytics 2026-01-23 20:39:04 +01:00
tests/e2e first implementation 2025-11-27 17:26:18 +01:00
.dockerignore make auth working 2025-11-26 01:31:12 +01:00
.editorconfig feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.env.development feat(nutriphi): add AI-powered nutrition tracking app 2026-01-25 13:19:51 +01:00
.env.example 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
.env.macmini.example feat: add monitoring dashboard (Prometheus + Grafana + Umami + Admin) 2026-01-23 15:31:39 +01:00
.gitignore feat: add multi-arch Docker builds and Mac Mini deployment 2026-01-22 19:17:37 +01:00
.nvmrc feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.prettierignore fix(ci): build shared packages before tests and fix formatting 2025-12-01 23:15:00 +01:00
.prettierrc feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.prettierrc.json fix(cicd): docker paths, formatting config, 2025-11-27 18:33:08 +01:00
APP-IDEAS.md 📝 docs: update COMMANDS.md and add APP-IDEAS.md 2025-12-04 17:28:16 +01:00
AUTH_ANALYSIS_SUMMARY.md 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
AUTH_ARCHITECTURE_REPORT.md 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
AUTH_DOCUMENTATION_INDEX.md 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
AUTH_QUICK_REFERENCE.md 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
AUTH_VALIDATION_CHECKLIST.md 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
BACKEND_DESIGN_PATTERN_AUDIT.md 🔒️ feat(auth): centralize JWT validation and add deployment docs 2025-12-01 20:44:45 +01:00
CI_CD_IMPLEMENTATION_SUMMARY.md feat: major update with network graphs, themes, todo extensions, and more 2025-12-10 02:37:46 +01:00
CI_CD_README.md first auth impl 2025-12-01 13:30:58 +01:00
CLAUDE.md 🔧 chore: enforce monorepo best practices with automated validation 2025-12-25 17:57:00 +01:00
cloudflared-config.yml feat(infra): add missing tunnel routes for contacts, monitoring, n8n 2026-01-23 20:36:23 +01:00
COMMANDS.md feat(todo): add Prometheus metrics and update docs 2026-01-25 13:31:44 +01:00
COMPATIBILITY_MATRIX_AND_REMEDIATION.md 🔒️ feat(auth): centralize JWT validation and add deployment docs 2025-12-01 20:44:45 +01:00
docker-compose.dev.yml feat(planta): add plant care tracking application 2026-01-18 14:57:16 +01:00
docker-compose.macmini.yml feat(infra): add presi and storage apps to Mac Mini deployment 2026-01-25 13:52:45 +01:00
docker-compose.production.yml feat(infra): add Mac Mini setup script and update production docker-compose 2026-01-23 17:50:51 +01:00
docker-compose.staging.full.yml 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
docker-compose.staging.yml 🔀 merge: integrate till-dev into main 2026-01-18 15:40:43 +01:00
docker-compose.yml 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
DOCKER_REGISTRY_SETUP.md style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
eslint.config.mjs fix lint 2025-12-04 00:32:13 +01:00
FILES_CREATED.md first auth impl 2025-12-01 13:30:58 +01:00
HISTORICAL-ANALYSIS.md Merge branch 'dev-1' into dev 2025-12-05 17:57:26 +01:00
HIVE_MIND_FINAL_REPORT.md feat: major update with network graphs, themes, todo extensions, and more 2025-12-10 02:37:46 +01:00
jest.config.js first implementation 2025-11-27 17:26:18 +01:00
JWT_VALIDATION_REPORT.md 🔒️ feat(auth): centralize JWT validation and add deployment docs 2025-12-01 20:44:45 +01:00
lint-staged.config.js Fix wrong type 2025-12-04 23:25:25 +01:00
mac-mini-setup.sh feat(infra): add Mac Mini setup script and update production docker-compose 2026-01-23 17:50:51 +01:00
MANACORE-TODOS.md 📝 docs: add release plan and manacore roadmap 2025-12-05 03:38:27 +01:00
MERGE-FIX-SUMMARY.md Merge branch 'dev-1' into dev 2025-12-05 17:57:26 +01:00
package.json feat: add dev scripts for presi and storage apps 2026-01-25 13:27:55 +01:00
playwright.config.ts style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
pnpm-lock.yaml feat(todo): add Prometheus metrics and update docs 2026-01-25 13:31:44 +01:00
pnpm-workspace.yaml chore: archive inactive projects to apps-archived/ 2025-11-29 07:03:59 +01:00
QA_TESTING_CHECKLIST.md add mana core 2025-11-25 18:56:35 +01:00
QUICK_START_CICD.md style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
README.md delete old apps due to context pollution 2025-12-25 17:23:14 +01:00
RELEASE-PLAN.md 📝 docs: add release plan and manacore roadmap 2025-12-05 03:38:27 +01:00
test-chat-auth.sh Fix wrong type 2025-12-04 23:25:25 +01:00
TEST_CASES_SAMPLES.md add mana core 2025-11-25 18:56:35 +01:00
TESTING_STRATEGY_AUTH_CREDITS.md add mana core 2025-11-25 18:56:35 +01:00
TESTING_STRATEGY_EXECUTIVE_SUMMARY.md style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
TROUBLESHOOTING.md docs: add SvelteKit runtime env injection guidelines and troubleshooting 2025-12-08 20:54:13 +01:00
turbo.json 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring 2025-12-18 21:42:47 +01:00
vitest.config.ts first implementation 2025-11-27 17:26:18 +01:00

Manacore Monorepo

Monorepo containing all Manacore projects with shared packages and unified tooling.

Projects

Project Description Tech Stack
maerchenzauber AI-powered story generation app NestJS, Expo, SvelteKit, Astro
manacore Multi-app ecosystem platform Expo, SvelteKit, Astro
manadeck Card/deck management app NestJS, Expo, SvelteKit
memoro Voice memo & AI analysis app Expo, SvelteKit, Astro

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm 9.15.0+

Installation

# Install pnpm globally (if not installed)
npm install -g pnpm

# Install all dependencies
pnpm install

Development

# Start all projects in dev mode
pnpm run dev

# Start a specific project
pnpm run maerchenzauber:dev
pnpm run manacore:dev
pnpm run manadeck:dev
pnpm run memoro:dev

# Build all projects
pnpm run build

# Run tests
pnpm run test

# Type check
pnpm run type-check

# Format code
pnpm run format

Shared Packages

Located in packages/:

Package Description
@manacore/shared-types Common TypeScript types
@manacore/shared-supabase Unified Supabase client
@manacore/shared-utils Utility functions (date, string, async)
@manacore/shared-ui React Native UI components

Using Shared Packages

// In any project
import { User, ApiResponse } from '@manacore/shared-types';
import { createSupabaseClient } from '@manacore/shared-supabase';
import { formatDate, truncate, retry } from '@manacore/shared-utils';

Repository Structure

manacore-monorepo/
├── packages/                 # Shared packages
│   ├── shared-types/         # TypeScript types
│   ├── shared-supabase/      # Supabase utilities
│   ├── shared-utils/         # Common utilities
│   └── shared-ui/            # React Native components
├── maerchenzauber/           # Storyteller project
├── manacore/                 # Manacore apps project
├── manadeck/                 # ManaDeck project
├── memoro/                   # Memoro project
├── turbo.json                # Turborepo configuration
├── pnpm-workspace.yaml       # Workspace configuration
└── package.json              # Root package

Tooling

  • Package Manager: pnpm 9.15.0
  • Build System: Turborepo
  • Formatting: Prettier
  • Node Version: 20 (see .nvmrc)

Adding Dependencies

# Add to root (dev tools)
pnpm add -D <package> -w

# Add to specific project
pnpm add <package> --filter maerchenzauber

# Add to shared package
pnpm add <package> --filter @manacore/shared-utils

Contributing

  1. Create a feature branch
  2. Make changes
  3. Run pnpm run format and pnpm run type-check
  4. Commit with conventional commit messages
  5. Create pull request

License

Private - All rights reserved