Files
tsview/readme.plan.md
2026-01-23 22:15:51 +00:00

84 lines
3.1 KiB
Markdown

# tsview Implementation Plan
A CLI tool for viewing S3 and MongoDB data with a web UI.
## Project Structure
```
tsview/
├── cli.js # Production CLI (imports dist_ts/index.js)
├── cli.ts.js # Dev CLI (uses tsrun to run cli.child.ts)
├── cli.child.ts # Dev CLI entry (imports ts/index.js)
├── package.json # bin: { "tsview": "cli.js" }
├── npmextra.json # tsbundle config for UI bundling
├── tsconfig.json
├── readme.md
├── readme.hints.md
├── ts/ # Backend (Node.js)
│ ├── 00_commitinfo_data.ts
│ ├── index.ts # Main exports + runCli()
│ ├── plugins.ts # Centralized imports
│ ├── paths.ts
│ │
│ ├── tsview.cli.ts # CLI using smartcli
│ ├── tsview.classes.tsview.ts # Main TsView class
│ │
│ ├── config/ # Configuration handling
│ │ ├── index.ts
│ │ └── classes.config.ts # Reads .nogit/env.json
│ │
│ ├── server/ # Web server
│ │ ├── index.ts
│ │ └── classes.viewserver.ts # Serves bundled UI + API
│ │
│ ├── api/ # API handlers
│ │ ├── index.ts
│ │ ├── handlers.s3.ts # S3 operations
│ │ └── handlers.mongodb.ts # MongoDB operations
│ │
│ └── interfaces/
│ └── index.ts # ITsViewConfig, etc.
├── ts_web/ # Frontend (bundled)
│ ├── index.ts # Entry point
│ ├── plugins.ts
│ │
│ ├── elements/
│ │ ├── index.ts
│ │ ├── tsview-app.ts # Main shell (dees-appui)
│ │ │
│ │ ├── tsview-s3-browser.ts # S3 browser container
│ │ ├── tsview-s3-columns.ts # Mac-style column view
│ │ ├── tsview-s3-keys.ts # Flat keys list
│ │ ├── tsview-s3-preview.ts # File preview
│ │ │
│ │ ├── tsview-mongo-browser.ts # MongoDB browser container
│ │ ├── tsview-mongo-collections.ts
│ │ ├── tsview-mongo-documents.ts # Documents table
│ │ ├── tsview-mongo-document.ts # Document editor
│ │ ├── tsview-mongo-aggregation.ts # Pipeline builder
│ │ └── tsview-mongo-indexes.ts # Index management
│ │
│ └── services/
│ ├── index.ts
│ └── api.service.ts # TypedRequest client
└── test/
└── test.tsview.ts
```
## Status
- [x] Phase 1: Project Setup
- [x] Phase 2: Configuration & Core
- [x] Phase 3: Backend API
- [x] Phase 4: Frontend Shell
- [x] Phase 5: S3 UI
- [x] Phase 6: MongoDB UI
- [x] Phase 7: Integration & Polish
## Implementation Complete
All phases have been implemented. The project can be built with `pnpm build`.