# DreamChat Project Documentation This directory contains comprehensive planning and implementation documentation for the DreamChat project. ## Documentation Structure | Document | Description | |----------|-------------| | [architecture.md](./architecture.md) | System architecture, tech stack, component diagrams | | [monorepo-guide.md](./monorepo-guide.md) | pnpm workspace setup, shared packages | | [database-schema.md](./database-schema.md) | PostgreSQL schema, vector store design, entities | | [api-spec.md](./api-spec.md) | REST API & WebSocket specifications, OpenAPI | | [implementation-plan.md](./implementation-plan.md) | Phased roadmap, milestones, deliverables | | [frontend-guide.md](./frontend-guide.md) | Frontend architecture, component hierarchy | | [deployment.md](./deployment.md) | Docker Compose, devcontainer, deployment guide | ## Quick Reference ### Tech Stack - **Backend**: NestJS (TypeScript) - **Frontend**: React + Vite (TypeScript) - **Package Manager**: pnpm (monorepo workspaces) - **Database**: PostgreSQL with pgvector - **ORM**: Prisma - **Vector Store**: PostgreSQL (pgvector) + LangChain + Local HuggingFace Embeddings - **LLM**: OpenRouter (flexible adapter pattern) - **Real-time**: WebSocket (shared types package) - **Auth**: Keycloak + Password-based - **Web Scraping**: Puppeteer/Playwright (headless browser) ### Implementation Phases 1. **MVP**: Single character chat with memory 2. **Phase 2**: Story generation with branching tree view 3. **Phase 3**: Multi-character group chat ### Key Design Patterns - **Adapter Pattern**: LLM providers, data import sources - **Repository Pattern**: Database access - **Strategy Pattern**: Predefined web scrapers - **Observer Pattern**: WebSocket events --- *Last updated: 2026-02-23*