29 lines
1.7 KiB
Markdown
29 lines
1.7 KiB
Markdown
# Stock Report Portal Design
|
|
|
|
## Goal
|
|
|
|
Create a deployable static website for browsing HTML stock reports generated by OpenClaw or Hermes.
|
|
|
|
## Product shape
|
|
|
|
- Home page presents report categories such as Daily Review, Intraday Projects, Sector Watch, and Stock Tracking.
|
|
- Category pages show reports grouped by year and month, with a calendar-style date grid and a report list for the selected date.
|
|
- Each report opens its original HTML file in the same portal shell, preserving the source report content.
|
|
- A recent-reports area and category counts make the home page useful even before a date is selected.
|
|
|
|
## Data contract
|
|
|
|
Reports live under `reports/<category>/<YYYY>/<MM>/`. The website reads `data/reports.json`, whose records contain `id`, `category`, `date`, `title`, `summary`, `tags`, and `path`. A small rebuild script scans HTML files and regenerates the index, so uploads can be automated without hand-editing JSON.
|
|
|
|
## Technology and deployment
|
|
|
|
Use a dependency-free static site: HTML, CSS, and vanilla JavaScript. It can be uploaded to Nginx, Apache, object storage, or any static hosting service. The first version has no database, login, or server runtime requirement.
|
|
|
|
## Interaction and failure behavior
|
|
|
|
The site supports category filtering, month navigation, date selection, report search, and a direct report URL. Missing or malformed index data shows a clear empty state instead of a broken page. The rebuild script ignores non-HTML files and reports malformed filenames without stopping the whole rebuild.
|
|
|
|
## Future extension
|
|
|
|
The stable JSON contract leaves room for an upload webhook, authentication, full-text search, and database migration later without changing the browser-facing information architecture.
|