initial
This commit is contained in:
83
readme.plan.md
Normal file
83
readme.plan.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user