Mirror of github.com/Memo-2023/mana-monorepo
Find a file
Till JS e7a8567e61 feat(services): create mana-subscriptions, remove from mana-core-auth
Extract subscription billing into standalone mana-subscriptions service
(Hono + Bun, Port 3063). Also removes Stripe module from mana-core-auth
since subscription webhooks are the last consumer.

New service (services/mana-subscriptions/):
- Plans CRUD, subscription management, Stripe Checkout + Portal
- Invoice tracking, webhook handlers for sub/invoice events
- Internal API for plan limits (consumed by guilds service)
- ~990 LOC (vs ~1,700 in NestJS incl. Stripe module)

Removed from mana-core-auth:
- subscriptions/ module (6 files)
- stripe/ module (4 files) — no longer needed in auth
- db/schema/subscriptions.schema.ts
- guilds.service.ts: replaced direct DB plan limit query with
  HTTP call to mana-subscriptions internal API

mana-core-auth now contains only:
- Auth (Better Auth, JWT, Sessions, 2FA, Passkeys, OIDC)
- Organizations/Guilds (membership only, no credits/plans)
- API Keys, Security, Me (GDPR), Health, Metrics
- Feedback + Analytics (next extraction target)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 02:11:42 +01:00
.changeset feat(versioning): add semantic versioning and changesets to all apps 2026-03-19 16:20:18 +01:00
.claude docs: add comprehensive overview of local-first migration and service extraction 2026-03-27 22:38:13 +01:00
.github refactor(presi): replace NestJS backend with lightweight Hono server 2026-03-28 02:08:40 +01:00
.husky fix(devtools): fix pre-commit hook - add eslint-config dep, remove type-check 2026-03-17 13:08:51 +01:00
apps refactor(presi): replace NestJS backend with lightweight Hono server 2026-03-28 02:08:40 +01:00
docker refactor(presi): replace NestJS backend with lightweight Hono server 2026-03-28 02:08:40 +01:00
docs refactor(infra): remove zitare + clock NestJS backends, add shared-hono package 2026-03-27 22:43:46 +01:00
games feat(whopixels): update Phaser from 3.55.2 to 3.80.1 2026-03-21 15:29:24 +01:00
packages feat(local-first): migrate tags + task stores to reactive liveQuery across all apps 2026-03-28 02:02:52 +01:00
patches fix(traces): configure EAS Build for TestFlight and fix bot-services build 2026-03-17 13:16:38 +01:00
scripts refactor(presi): replace NestJS backend with lightweight Hono server 2026-03-28 02:08:40 +01:00
services feat(services): create mana-subscriptions, remove from mana-core-auth 2026-03-28 02:11:42 +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(apps): add GPU server fallback to all LLM-using apps 2026-03-27 22:21:20 +01:00
.env.macmini.example feat: add monitoring dashboard (Prometheus + Grafana + Umami + Admin) 2026-01-23 15:31:39 +01:00
.gitignore feat(calendar): add Playwright E2E tests for web app 2026-03-17 13:08:09 +01:00
.npmrc fix(monorepo): add .npmrc with node-linker=hoisted for EAS Build compatibility 2026-03-15 08:50:18 +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.json fix(cicd): docker paths, formatting config, 2025-11-27 18:33:08 +01:00
CLAUDE.md feat(services): create mana-subscriptions, remove from mana-core-auth 2026-03-28 02:11:42 +01:00
cloudflared-config.yml feat(infra): add api.mana.how route + Prometheus scrape targets for Go services 2026-03-27 21:27:04 +01:00
docker-compose.dev.yml feat(storage): improve shared-storage robustness, scalability, and DX 2026-03-20 18:52:34 +01:00
docker-compose.macmini.yml feat(services): create mana-subscriptions, remove from mana-core-auth 2026-03-28 02:11:42 +01:00
eslint.config.mjs fix lint 2025-12-04 00:32:13 +01:00
gift-codes-2026-02-14.txt feat(gifts): add gift code creation script and initial codes 2026-02-14 11:23:08 +01:00
jest.config.js first implementation 2025-11-27 17:26:18 +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
package.json refactor(presi): replace NestJS backend with lightweight Hono server 2026-03-28 02:08:40 +01:00
playwright.config.ts style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
pnpm-lock.yaml feat(local-first): migrate tags + task stores to reactive liveQuery across all apps 2026-03-28 02:02:52 +01:00
pnpm-workspace.yaml feat(mana-media): add centralized media storage with NutriPhi integration 2026-02-02 17:30:14 +01:00
README.md chore: fix config conflicts, update README, clean up apps-archived 2026-03-23 11:06:40 +01:00
test-chat-auth.sh Fix wrong type 2025-12-04 23:25:25 +01:00
TROUBLESHOOTING.md chore: major cleanup of legacy docs, reports, and unused configs 2026-03-23 10:43:11 +01:00
turbo.json fix: add ^build dependency to type-check task 2025-12-10 21:34:07 +01:00
vitest.config.ts first implementation 2025-11-27 17:26:18 +01:00

Manacore Monorepo

Monorepo containing all Manacore projects — a self-hosted multi-app ecosystem with shared packages and unified tooling.

Projects

Project Description Apps
manacore Multi-app ecosystem platform Expo mobile, SvelteKit web
chat AI chat application NestJS backend, Expo mobile, SvelteKit web, Astro landing
todo Task management NestJS backend, SvelteKit web, Astro landing
calendar Calendar & scheduling NestJS backend, SvelteKit web, Astro landing
clock Pomodoro & time tracking NestJS backend, SvelteKit web, Astro landing
contacts Contact management NestJS backend, SvelteKit web
picture AI image generation NestJS backend, Expo mobile, SvelteKit web, Astro landing
manadeck Card/deck management NestJS backend, Expo mobile, SvelteKit web
zitare Daily inspiration quotes NestJS backend, Expo mobile, SvelteKit web, Astro landing
mukke Music player NestJS backend, SvelteKit web
planta Plant care tracker NestJS backend, SvelteKit web
storage Cloud storage NestJS backend, SvelteKit web
questions Q&A with web search SvelteKit web
skilltree Skill tree visualization NestJS backend, SvelteKit web
nutriphi Nutrition tracking NestJS backend, SvelteKit web
citycorners City guide NestJS backend, SvelteKit web, Astro landing
presi Presentation tool NestJS backend, SvelteKit web
photos Photo management NestJS backend, SvelteKit web

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm 9.15.0+
  • Docker (for PostgreSQL, Redis, MinIO)

Installation

pnpm install

Development

# Start infrastructure (PostgreSQL, Redis, MinIO)
pnpm docker:up

# Start any app with auto DB setup
pnpm dev:chat:full
pnpm dev:todo:full
pnpm dev:calendar:full
pnpm dev:contacts:full

# Build & quality
pnpm run build
pnpm run type-check
pnpm run format

See CLAUDE.md for comprehensive development documentation.

Architecture

manacore-monorepo/
├── apps/                    # Product applications
├── services/                # Microservices (auth, search, LLM, bots)
├── packages/                # Shared packages
├── docker/                  # Docker configuration
└── scripts/                 # Development & deployment scripts

Tooling

  • Package Manager: pnpm 9.15.0
  • Build System: Turborepo
  • Formatting: Prettier (tabs, single quotes, 100 char width)
  • Hosting: Mac Mini (self-hosted) via Docker + Cloudflare Tunnel
  • Analytics: Umami (stats.mana.how)

License

Private - All rights reserved