web-app/docs
padreug 7a32085ee1 Migrate InvoiceService to dependency injection pattern
- Add INVOICE_SERVICE token to DI container
- Register InvoiceService in base module with proper lifecycle
- Update market store to use dependency injection instead of singleton
- Remove exported singleton from InvoiceService class
- Add comprehensive migration documentation with examples
- Maintain type safety with proper TypeScript interfaces

This migration eliminates the legacy singleton pattern and improves:
- Testability through service injection
- Modular architecture with clear boundaries
- Single source of truth for service instances
- Consistent dependency injection patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 01:10:55 +02:00
..
.obsidian Create comprehensive Obsidian-style documentation structure 2025-09-06 14:31:27 +02:00
00-overview Create comprehensive Obsidian-style documentation structure 2025-09-06 14:31:27 +02:00
01-architecture Update documentation to reflect new authentication architecture 2025-09-07 00:53:42 +02:00
02-modules Update documentation to reflect new authentication architecture 2025-09-07 00:53:42 +02:00
03-core-services Update documentation to reflect new authentication architecture 2025-09-07 00:53:42 +02:00
04-development Create comprehensive Obsidian-style documentation structure 2025-09-06 14:31:27 +02:00
04-migrations Migrate InvoiceService to dependency injection pattern 2025-09-07 01:10:55 +02:00
05-api-reference Create comprehensive Obsidian-style documentation structure 2025-09-06 14:31:27 +02:00
06-deployment Create comprehensive Obsidian-style documentation structure 2025-09-06 14:31:27 +02:00
archive Create comprehensive Obsidian-style documentation structure 2025-09-06 14:31:27 +02:00
README.md Create comprehensive Obsidian-style documentation structure 2025-09-06 14:31:27 +02:00

📚 Ario Web App Documentation

A comprehensive guide to the Ario Web Application - A modular Vue 3 + TypeScript application with Nostr protocol integration and Lightning Network payments.

🗂️ Documentation Structure

This documentation follows an Obsidian-compatible structure with cross-linked markdown files organized by domain.

Quick Navigation

📂 Directory Structure

docs/
├── README.md                    # This file - Documentation hub
├── 00-overview/                 # Project overview and introduction
│   ├── index.md                # Overview index
│   ├── project-goals.md        # Project objectives
│   ├── tech-stack.md           # Technology choices
│   └── getting-started.md      # Quick start guide
│
├── 01-architecture/             # System architecture
│   ├── index.md                # Architecture overview
│   ├── modular-design.md       # Modular architecture patterns
│   ├── dependency-injection.md # DI container system
│   ├── event-bus.md            # Inter-module communication
│   └── relay-hub.md            # Nostr relay management
│
├── 02-modules/                  # Feature modules
│   ├── index.md                # Module system overview
│   ├── base-module/            # Core infrastructure module
│   ├── market-module/          # Marketplace functionality
│   ├── chat-module/            # Encrypted chat system
│   ├── events-module/          # Event ticketing
│   └── nostr-feed-module/      # Social feed
│
├── 03-core-services/           # Shared services
│   ├── index.md               # Services overview
│   ├── authentication.md      # Auth service & LNbits
│   ├── payment-service.md     # Lightning payments
│   ├── storage-service.md     # User-scoped storage
│   ├── toast-service.md       # Notifications
│   └── visibility-service.md  # Component visibility
│
├── 04-development/             # Development guides
│   ├── index.md               # Development overview
│   ├── setup.md               # Environment setup
│   ├── coding-standards.md    # Code conventions
│   ├── testing.md             # Testing strategies
│   └── debugging.md           # Debug techniques
│
├── 05-api-reference/          # External APIs
│   ├── index.md              # API overview
│   ├── nostr-protocol.md     # Nostr implementation
│   ├── lnbits-api.md         # LNbits integration
│   └── events-api.md         # Events system API
│
├── 06-deployment/            # Deployment & operations
│   ├── index.md             # Deployment overview
│   ├── configuration.md     # Environment variables
│   ├── pwa-setup.md        # PWA configuration
│   └── electron.md         # Desktop app packaging
│
└── archive/                  # Deprecated documentation
    ├── legacy-architecture.md
    └── old-relay-system.md

🔗 Key Documentation Files

Essential Reading

  1. 00-overview/getting-started - Set up your development environment
  2. 01-architecture/modular-design - Understand the plugin system
  3. 02-modules/index - Create new feature modules
  4. 04-development/coding-standards - Maintain code quality

Module Documentation

Technical Deep Dives

🏷️ Documentation Tags

Documents are tagged for easy navigation:

  • #architecture - System design documents
  • #module - Feature module documentation
  • #service - Service layer documentation
  • #api - External API references
  • #guide - How-to guides
  • #reference - Technical references
  • #deprecated - Outdated documentation

📝 Documentation Standards

File Naming

  • Use kebab-case for all files: module-name.md
  • Index files for directories: index.md
  • Prefix with numbers for ordering: 01-architecture/

Markdown Structure

# Document Title

> Brief description or important note

## Overview
Introduction to the topic

## Table of Contents
- [[#Section 1]]
- [[#Section 2]]

## Section 1
Content...

## See Also
- [[related-document]]
- [[another-reference]]

---
**Tags:** #architecture #module
**Last Updated:** 2025-09-06
**Author:** Development Team

Cross-Linking

  • Use [[filename]] for internal links (Obsidian-style)
  • Use [[filename#section]] for section links
  • Use [[filename|Display Text]] for custom link text

🔄 Maintenance

Keeping Documentation Current

  1. Update documentation with code changes
  2. Review quarterly for accuracy
  3. Move deprecated docs to archive/
  4. Tag documents with last update date

Contributing

  1. Follow the structure and standards above
  2. Add appropriate tags to new documents
  3. Update index files when adding new docs
  4. Cross-link related documentation

📊 Documentation Coverage

Module Status Coverage
Base Module Complete 100%
Market Module Complete 100%
Chat Module Complete 100%
Events Module Complete 100%
Nostr Feed Complete 100%
Core Services Complete 100%
Development Guides 🔄 In Progress 80%
API Reference 🔄 In Progress 70%

Welcome to the Ario Web App documentation! Start with the 00-overview/index to begin your journey.