Controtto

by contre95
GPL 3.0
51
  • Linux
  • Apple

Integrations

  • Supports configuration through environment variables stored in .env files for simplified setup and configuration.

  • Fetches cryptocurrency price data from Binance's public API to calculate asset values and profit/loss metrics.

  • Provides a container image available on Docker's public registry for easy deployment and management.

📊 Управление

Самостоятельно размещаемый трекер прибылей и убытков, созданный с использованием Go, HTMX и без JavaScript . Controtto отслеживает ваши транзакции, сохраняя их в файле SQLite, и возвращает все виды расчетов, включая:

  • Средняя цена покупки
  • Текущая стоимость активов
  • История транзакций
  • Импортно-экспортная операция (см. пример )
  • Прибыль и убыток

Для получения цены актива Controtto использует в основном 4 API ( см. код ).

  • Binance — публичный API, токен не требуется.
  • BingX — публичный API, токен не требуется.
  • Alpha Vantage - Акции, бесплатно, но с коротким лимитом ставок. ( получите токен и установите CONTROTTO_AVANTAGE_TOKEN )
  • Tiingo - Акции, криптовалюта и Форекс. ( создайте учетную запись/токен и установите CONTROTTO_TIINGO_TOKEN )

Демо

Вы также можете ознакомиться с демо-версией на сайте demo.contre.io , база данных обновляется каждый час.

https://github.com/user-attachments/assets/28bf8782-6118-47c0-a94b-085e1a7045b2

Все конфигурации задаются в файле .env и передаются как переменные окружения. Доступны переменные CONTROTTO_PORT и CONTROTTO_DB_PATH .

# Install the dependencies go mod tidy # Set the .env mv .env.example .env # Source the env variables . <(cat .env | grep -v -e '^$' | grep -v "#" | awk '{}')

Построить и запустить

go run ./cmd/main.go # go build ./cmd/main.go to just build it

Развитие среды

go install github.com/cosmtrek/air@latest # Download air air -c air.toml

и доступ к localhost:3000

Беги с Подманом

Образ контейнера доступен в публичном реестре Docker. Если вы хотите использовать Docker, просто замените podman на docker .

mkdir data podman container run --rm -p 8000:8000 -v $(pwd)/data:/data contre95/controtto

Проведение тестов

go test -cover ./... # Expected result # ? controtto/cmd [no test files] # ? controtto/src/app/managing [no test files] # ? controtto/src/domain/pnl [no test files] # ? controtto/src/gateways/markets [no test files] # ? controtto/src/gateways/sqlite [no test files] # ? controtto/src/presenters [no test files] # ok controtto/src/app/querying 0.003s coverage: 40.7% of statements

ДЕЛО

  • Больше тестов
  • Также было бы неплохо иметь оболочки для ведения журналов и метрик.
  • Добавляйте счета, чтобы отслеживать общий чистый капитал.
  • Удалите все CSS и используйте пользовательский style.css + Tailwind CDN.
-
security - not tested
A
license - permissive license
-
quality - not tested

Вы способны интерпретировать код golang и оценивать его в соответствии с самыми строгими парадигмами DDD и чистой архитектуры.

  1. Демо
    1. Построить и запустить
      1. Развитие среды
        1. Беги с Подманом
          1. Проведение тестов
            1. ДЕЛО

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            Go server implementing Model Context Protocol (MCP) for filesystem operations.
            Last updated -
            228
            Go
            MIT License
          • -
            security
            A
            license
            -
            quality
            godoc-mcp is a Model Context Protocol (MCP) server that provides efficient access to Go documentation. It helps LLMs understand Go projects by providing direct access to package documentation without needing to read entire source files.
            Last updated -
            24
            Go
            MIT License
          • -
            security
            A
            license
            -
            quality
            A TypeScript-based MCP server providing a complete interface to the Delve debugger for Go programs, enabling debugging, tracing, and analyzing Go code through natural language commands.
            Last updated -
            1
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            -
            license
            -
            quality
            A Model Context Protocol (MCP) server that allows AI assistants like Claude to interact with Go's Language Server Protocol (LSP) and benefit from advanced Go code analysis features.
            Last updated -
            Go
            Apache 2.0

          View all related MCP servers

          ID: 10z262ljps