docs: fix drift in docs/main.md

Fix web/ -> api/, add missing panel/modules/graphics sections,
expand module and utility listings to match actual codebase.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
syntaxbullet
2026-04-02 11:36:26 +02:00
parent 9569972cd6
commit 70d59a091a

View File

@@ -14,14 +14,17 @@ aurora-bot-discord/
│ ├── commands/ # Slash command implementations
│ ├── events/ # Discord event handlers
│ ├── lib/ # Bot core logic (BotClient, utilities)
│ ├── modules/ # Feature modules (views, interactions per domain)
│ ├── graphics/ # Canvas-based image generation
│ └── index.ts # Bot entry point
├── web/ # REST API server
├── api/ # REST API server
│ └── src/routes/ # API route handlers
├── shared/ # Shared code between bot and web
├── shared/ # Shared code between bot and API
│ ├── db/ # Database schema and Drizzle ORM
│ ├── lib/ # Utilities, config, logger, events
── modules/ # Domain services (economy, admin, quest)
│ └── config/ # Configuration files
│ ├── lib/ # Utilities, config, errors, logger, events
── modules/ # Domain services (economy, admin, inventory, quest, etc.)
├── panel/ # React admin dashboard (Vite + Tailwind)
├── scripts/ # Helper scripts
├── docker-compose.yml # Docker services (app, db)
└── package.json # Root package manifest
```
@@ -38,17 +41,20 @@ The bot is built with Discord.js v14 and handles all Discord-related functionali
- **Commands** (`bot/commands/`): Slash command implementations organized by category:
- `admin/`: Server management commands (config, prune, warnings, notes)
- `economy/`: Economy commands (balance, daily, pay, trade, trivia)
- `feedback/`: Feedback commands
- `inventory/`: Item management commands
- `leveling/`: XP and level tracking
- `quest/`: Quest commands
- `user/`: User profile commands
- **Modules** (`bot/modules/`): Feature modules with views and interaction handlers per domain (admin, economy, inventory, moderation, trade, trivia, etc.)
- **Graphics** (`bot/graphics/`): Canvas-based image generation (lootdrops, student IDs)
- **Events** (`bot/events/`): Discord event handlers:
- `interactionCreate.ts`: Command interactions
- `messageCreate.ts`: Message processing
- `ready.ts`: Bot ready events
- `guildMemberAdd.ts`: New member handling
### 2. REST API (`web/`)
### 2. REST API (`api/`)
A headless REST API built with Bun's native HTTP server for bot administration and data access.
@@ -56,10 +62,15 @@ A headless REST API built with Bun's native HTTP server for bot administration a
- **Stats** (`/api/stats`): Real-time bot metrics and statistics
- **Settings** (`/api/settings`): Configuration management endpoints
- **Guild Settings** (`/api/guild-settings`): Per-guild configuration
- **Users** (`/api/users`): User data and profiles
- **Items** (`/api/items`): Item catalog and management
- **Quests** (`/api/quests`): Quest data and progress
- **Economy** (`/api/transactions`): Economy and transaction data
- **Moderation** (`/api/moderation`): Moderation case data
- **Classes** (`/api/classes`): RPG class data
- **Lootdrops** (`/api/lootdrops`): Lootdrop data
- **Health** (`/api/health`): Health check endpoint
**API Features:**
@@ -69,9 +80,13 @@ A headless REST API built with Bun's native HTTP server for bot administration a
- Real-time event streaming via WebSocket
- Zod validation for all requests
### 3. Shared Core (`shared/`)
### 3. Admin Panel (`panel/`)
Shared code accessible by both bot and web applications.
A React-based admin dashboard built with Vite and Tailwind CSS for managing the bot through a web interface.
### 4. Shared Core (`shared/`)
Shared code accessible by both the bot and API.
**Database Layer (`shared/db/`):**
@@ -86,19 +101,36 @@ Shared code accessible by both bot and web applications.
**Modules (`shared/modules/`):**
- **economy/**: Economy service, lootdrops, daily rewards, trading
- **economy/**: Economy service, lootdrops, daily rewards
- **admin/**: Administrative actions (maintenance mode, cache clearing)
- **inventory/**: Inventory management
- **items/**: Item catalog and management
- **trade/**: Trading system
- **trivia/**: Trivia game logic
- **quest/**: Quest creation and tracking
- **dashboard/**: Dashboard statistics and real-time event bus
- **class/**: RPG class system
- **leveling/**: XP and leveling logic
- **moderation/**: Moderation case management
- **user/**: User profile management
- **dashboard/**: Dashboard statistics and real-time event bus
- **guild-settings/**: Per-guild configuration
- **game-settings/**: Game-wide settings
- **feature-flags/**: Feature flag management
- **system/**: System-level utilities
**Utilities (`shared/lib/`):**
- `config.ts`: Application configuration management
- `logger.ts`: Structured logging system
- `env.ts`: Environment variable handling
- `errors.ts`: Error classes (UserError, SystemError)
- `events.ts`: Event bus for inter-module communication
- `eventWiring.ts`: Event bus wiring
- `constants.ts`: Application-wide constants
- `types.ts`: Shared TypeScript types
- `utils.ts`: General utility functions
- `rarity.ts`: Item rarity definitions
- `assets.ts`: Asset path utilities
## Main Use-Cases
@@ -145,6 +177,7 @@ Shared code accessible by both bot and web applications.
| Web Framework | Bun HTTP Server (REST API) |
| Database | PostgreSQL 17 |
| ORM | Drizzle ORM |
| Admin Panel | React + Vite + Tailwind CSS |
| UI | Discord embeds and components |
| Validation | Zod |
| Containerization | Docker |