84 lines
3.1 KiB
Markdown
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`.
|