managarten/README.md
Wuesteon f414aecda1 📝 docs: add staging URLs and modernize README
- Add staging URLs section with all web apps, APIs, and landing pages
- Update project list to reflect current active apps
- Add quick start commands with dev:*:full patterns
- Update shared packages list
- Modernize repository structure diagram
- Add deployment and documentation sections
2025-12-15 20:27:02 +01:00

5.5 KiB

Manacore Monorepo

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

Staging URLs

All services are deployed to staging at *.staging.manacore.ai.

Web Applications

App Staging URL Description
ManaCore https://staging.manacore.ai Central dashboard for all Mana apps
Chat https://chat.staging.manacore.ai AI chat application
Calendar https://calendar.staging.manacore.ai Calendar and scheduling
Clock https://clock.staging.manacore.ai World clock, timers, alarms
Todo https://todo.staging.manacore.ai Task management

Backend APIs

Service Staging URL Port
Auth https://auth.staging.manacore.ai 3001
Chat API https://chat-api.staging.manacore.ai 3002
Calendar API https://calendar-api.staging.manacore.ai 3016
Clock API https://clock-api.staging.manacore.ai 3017
Todo API https://todo-api.staging.manacore.ai 3018

Landing Pages (Cloudflare Pages)

Project URL
Chat https://chat-landing-90m.pages.dev
Picture https://picture-landing.pages.dev
ManaCore https://manacore-landing.pages.dev
ManaDeck https://manadeck-landing.pages.dev
Zitare https://zitare-landing.pages.dev
Presi https://presi-landing.pages.dev

Projects

Project Description Tech Stack
manacore Multi-app ecosystem platform Expo, SvelteKit
chat AI chat application NestJS, Expo, SvelteKit
calendar Calendar & scheduling NestJS, SvelteKit
clock World clock, timers, alarms NestJS, SvelteKit
todo Task management NestJS, SvelteKit
contacts Contact management NestJS, SvelteKit
manadeck Card/deck management NestJS, Expo, SvelteKit
picture AI image generation NestJS, Expo, SvelteKit
zitare Daily inspiration quotes NestJS, Expo, SvelteKit

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm 9.15.0+
  • Docker (for local development)

Installation

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

# Install all dependencies (also generates .env files)
pnpm install

# Start Docker infrastructure
pnpm docker:up

Quick Start

Use dev:*:full commands to start any app with automatic database setup:

pnpm docker:up           # Start PostgreSQL, Redis, MinIO
pnpm dev:chat:full       # Start chat with auth + auto DB setup
pnpm dev:calendar:full   # Start calendar with auth + auto DB setup
pnpm dev:clock:full      # Start clock with auth + auto DB setup
pnpm dev:todo:full       # Start todo with auth + auto DB setup
pnpm dev:manacore:full   # Start manacore with all backends

Development Commands

# Build all projects
pnpm build

# Type check
pnpm type-check

# Lint
pnpm lint

# Format code
pnpm format

Shared Packages

Located in packages/:

Package Description
@manacore/shared-auth Client-side auth for web/mobile
@manacore/shared-nestjs-auth NestJS JWT validation guards
@manacore/shared-ui Shared Svelte UI components
@manacore/shared-storage S3-compatible storage (MinIO/Hetzner)
@manacore/shared-types Common TypeScript types
@manacore/shared-utils Utility functions
@manacore/shared-theme Theme configuration

Repository Structure

manacore-monorepo/
├── apps/                    # Active product applications
│   ├── manacore/            # Central dashboard
│   ├── chat/                # AI chat app
│   ├── calendar/            # Calendar app
│   ├── clock/               # Clock/timer app
│   ├── todo/                # Task management
│   ├── contacts/            # Contact management
│   ├── manadeck/            # Card/deck app
│   ├── picture/             # AI image generation
│   └── zitare/              # Daily quotes
├── apps-archived/           # Archived projects
├── games/                   # Game projects
├── services/
│   └── mana-core-auth/      # Central auth service
├── packages/                # Shared packages
├── docker/                  # Docker configuration
└── .github/workflows/       # CI/CD pipelines

Tooling

  • Package Manager: pnpm 9.15.0
  • Build System: Turborepo
  • Formatting: Prettier
  • Linting: ESLint
  • Git Hooks: Husky (pre-commit, pre-push)
  • Node Version: 20+

Adding Dependencies

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

# Add to specific project
pnpm add <package> --filter @chat/web

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

Deployment

Deploy Landing Pages

pnpm deploy:landing:chat
pnpm deploy:landing:picture
pnpm deploy:landing:manacore
pnpm deploy:landing:all    # Deploy all landing pages

Deploy to Staging

# Tag-based deployment (triggers CI/CD)
git tag chat-staging-v1.0.0
git push origin chat-staging-v1.0.0

Documentation

License

Private - All rights reserved