stock-bot/.serena/memories/project_structure.md
2025-06-22 17:55:51 -04:00

2.6 KiB

Project Structure

Root Directory

stock-bot/
├── apps/                    # Microservice applications
│   ├── data-ingestion/     # Market data ingestion service
│   ├── data-pipeline/      # Data processing pipeline
│   ├── web-api/           # REST API service
│   └── web-app/           # React dashboard
├── libs/                   # Shared libraries
│   ├── core/              # Core functionality
│   │   ├── config/        # Configuration management
│   │   ├── logger/        # Logging infrastructure
│   │   ├── di/           # Dependency injection
│   │   ├── types/        # Shared TypeScript types
│   │   └── handlers/     # Common handler patterns
│   ├── data/              # Database clients
│   │   ├── postgres/      # PostgreSQL client
│   │   ├── questdb/       # QuestDB time-series client
│   │   └── mongodb/       # MongoDB document storage
│   ├── services/          # Service utilities
│   │   ├── queue/         # BullMQ job processing
│   │   ├── event-bus/     # Dragonfly event bus
│   │   └── shutdown/      # Graceful shutdown
│   └── utils/             # Utility functions
├── database/              # Database schemas and migrations
├── scripts/               # Build and utility scripts
├── config/                # Configuration files
├── monitoring/            # Monitoring configurations
├── docs/                  # Documentation
└── test/                  # Global test utilities

## Key Files
- `package.json` - Root package configuration
- `turbo.json` - Turbo monorepo configuration
- `tsconfig.json` - TypeScript configuration
- `eslint.config.js` - ESLint rules
- `.prettierrc` - Prettier formatting rules
- `docker-compose.yml` - Infrastructure setup
- `.env` - Environment variables

## Monorepo Structure
- Uses Bun workspaces with Turbo for orchestration
- Each app and library has its own package.json
- Shared dependencies at root level
- Libraries published as `@stock-bot/*` packages

## Service Architecture Pattern
Each service typically follows:

service/ ├── src/ │ ├── index.ts # Entry point │ ├── routes/ # API routes (Hono) │ ├── handlers/ # Business logic │ ├── services/ # Service layer │ └── types/ # Service-specific types ├── test/ # Tests ├── package.json └── tsconfig.json