尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Solartracker is the canonical repository home of the PV Manager rewrite.
PV Manager is a solar-energy and tariff-analysis web app focused on one core question:
Does owning solar materially reduce a household's electricity cost, and by enough to justify the install or financing cost over time?
The active product is the rewrite in apps/web.
It is the codebase validated for the main branch and the one all new product
work should target.
PV Manager combines provider telemetry, tariff history, and financial calculation logic to help a household understand:
The rewrite is intentionally built around trustworthy interpretation rather than just showing raw power numbers.
Live: current-day generation, import/export, and solar contextHistorical Day: detailed day view for a specific dateRange History: period-based analysis across weeks, months, years, and
custom rangesSettings: tariff management, provider setup, location, investment history,
and related user configurationAdmin / Approval flows: support for invited beta users and operator controlSome adjacent features are already scoped in the backlog but still in progress, including:
The current rewrite stack in apps/web is:
Next.js 15 with the App RouterReact 19TypeScriptTailwind CSSNextAuth for authenticationDrizzle ORM with PostgresVitest for testsECharts for historical and financial chartingSupporting integrations include:
MyEnergi for live and historical energy dataOpen-Meteo for current weather / forecast contextResend for email flowsAt a high level, the rewrite is split into:
app/: routes, pages, route handlers, and server-side entrypointssrc/domain/: business and financial calculation rulessrc/providers/: provider adapters and credential handlingsrc/jobs/: scheduled ingestion and summary generation logicsrc/db/: schema, queries, and seed datasrc/range/, src/live/, src/settings/, src/weather/: feature-focused
modulesThe important architectural idea is separation between:
That separation is what lets the product evolve financially without the UI being tightly coupled to raw provider payloads.
.
├── apps/
│ └── web/ # Active rewrite app
├── docs/ # Product brief, architecture, features, stories, decisions
└── output/ # Generated artifacts and local outputs
The rewrite app lives under apps/web.
cd apps/web
npm install
npm run dev
Useful commands:
npm run build
npm run test
npm run lint
npm run db:generate
npm run db:push
npm run db:seed
npm run db:studio
npm run job:daily-summary
npm run job:catch-up
The current example environment file is:
At minimum, local database access is expected. Additional auth, email, provider, and runtime secrets may be required depending on which flows you want to run.
The rewrite is moving toward a model where:
This matters because much of the product value is in accurate historical and financial interpretation, not just in displaying telemetry.
PV Manager is built with a doc-first delivery flow so product intent, calculation rules, and implementation scope stay aligned.
The typical path from idea to shipped feature is:
docs/features/.docs/decisions/.docs/stories/todo/.In practice, the repo is intended to answer these questions clearly:
What are we building? -> docs/product-brief.md, docs/use-cases.mdWhy does it matter? -> feature docs and decision recordsWhat exactly is in scope right now? -> docs/backlog.md and the active
story docsHow should it work? -> architecture and calculation docsWhat was actually delivered? -> code, tests, completed stories, and commit
historyThis approach is especially important here because the product is not just a UI project. Small wording, tariff, or data-model changes can alter the financial meaning of the app, so implementation is expected to stay tied closely to written product intent.
Key docs:
docs/product-brief.mddocs/architecture.mddocs/calculation-spec.mddocs/use-cases.mddocs/backlog.mdPlanning and execution docs:
docs/features/ for feature-level scopesdocs/stories/ for implementation slicesdocs/decisions/ for important architectural and product decisionsThe rewrite already includes meaningful end-to-end product slices, including:
The next major focus areas are improving Range History interpretation and performance, introducing estimate-aware handling for missing historical days, and continuing the move from raw interval-heavy request paths to better derived reporting layers.