Controtto 是一款采用 Go 语言开发的自托管 P&L(利润与损失)跟踪工具,借助 HTMX 实现,无需 JavaScript。它以 SQLite 文件存储交易记录,具备多种实用的计算功能,能帮助用户高效管理投资损益。
Controtto 是一个强大的自托管投资损益追踪工具,你可以通过以下步骤快速上手:
CONTROTTO_AVANTAGE_TOKEN
环境变量。CONTROTTO_TIINGO_TOKEN
环境变量。# 安装依赖项
go mod tidy
# 配置环境文件
mv .env.example .env
# 读取环境变量
. <(cat .env | grep -v -e '^$' | grep -v "#" | awk '{}')
go run ./cmd/main.go # 或构建可执行文件:go build ./cmd/main.go
# 安装 Air 工具
go install github.com/cosmtrek/air@latest
# 使用 Air 启动应用
air -c air.toml
# 访问 http://localhost:3000 查看结果
我们提供了 Docker 镜像,镜像地址为 hub.docker.com/r/contre95/controtto。如需使用,请将 podman
替换为 docker
。
mkdir data
# 启动容器
podman container run --rm -p 8000:8000 -v $(pwd)/data:/data contre95/controtto
你可以通过以下步骤使用 Controtto 进行基本的投资损益追踪:
http://localhost:3000
)。如果你需要使用特定的 API 获取资产价格,需要进行相应的配置:
CONTROTTO_AVANTAGE_TOKEN
环境变量。CONTROTTO_TIINGO_TOKEN
环境变量。go test -cover ./...
# 预期结果示例:
# ? controtto/cmd [无测试文件]
# ? controtto/src/app/managing [无测试文件]
# ? controtto/src/domain/pnl [无测试文件]
# ? controtto/src/gateways/markets [无测试文件]
# ? controtto/src/gateways/sqlite [无测试文件]
# ? controtto/src/presenters [无测试文件]
# ok controtto/src/app/querying 0.003s coverage: 40.7% of statements
style.css
和 Tailwind CDN。