Загрузка...

Web application for keeping records of CS skins (investment portfolio)

Thread in Your sites created by етернити Dec 21, 2025. 370 views

  1. етернити
    етернити Topic starter Dec 21, 2025 Banned 8,297 May 12, 2022
    [IMG]
    [IMG]
    [IMG]
    [IMG]
    [IMG]

    Code
    # CS2 Skins Tracker - MVP

    Веб-приложение для учета продаж/покупок скинов CS2, отслеживания изменений цен в портфолио и управления базой данных.

    ## Возможности

    - Управление скинами (добавление, просмотр)
    - Учет транзакций (покупка/продажа)
    - Отслеживание портфолио с автоматическим расчетом прибыли/убытка
    - История изменения цен
    - Статистика и аналитика
    - Веб-интерфейс с современным дизайном
    - REST API для интеграций

    ## Структура проекта

    ```
    b/
    ├── app.py # Основное Flask приложение
    ├── models.py # Модели базы данных
    ├── requirements.txt # Зависимости Python
    ├── main.py # Точка входа
    ├── templates/ # HTML шаблоны
    │ ├── base.html
    │ ├── index.html
    │ ├── skins.html
    │ ├── add_skin.html
    │ ├── transactions.html
    │ ├── add_transaction.html
    │ └── portfolio.html
    └── static/ # Статические файлы
    ├── style.css
    └── script.js
    ```

    ## Установка и запуск

    ### 1. Установка зависимостей

    ```bash
    pip install -r requirements.txt
    ```

    ### 2. Запуск приложения

    ```bash
    python main.py
    ```

    или

    ```bash
    python app.py
    ```

    Приложение будет доступно по адресу: `http://localhost:5000`

    ## Использование

    ### Добавление скина

    1. Перейдите на страницу "Скины"
    2. Нажмите "Добавить скин"
    3. Заполните форму:
    - Название скина (обязательно)
    - Состояние (Factory New, Minimal Wear, etc.)
    - Float Value
    - Цена покупки (если сразу покупаете)
    - Платформа покупки
    - Примечания

    ### Добавление транзакции

    1. Перейдите на страницу "Транзакции"
    2. Нажмите "Добавить транзакцию"
    3. Выберите скин и тип транзакции (покупка/продажа)
    4. Укажите цену и другие детали

    ### Просмотр портфолио

    1. Перейдите на страницу "Портфолио"
    2. Нажмите "Обновить цены" для получения актуальных цен
    3. Просмотрите прибыль/убыток по каждому скину

    ## API Endpoints

    ### GET `/api/stats`
    Получение общей статистики

    **Ответ:**
    ```json
    {
    "total_skins": 10,
    "total_transactions": 25,
    "total_spent": 500.00,
    "total_earned": 600.00,
    "net_profit": 100.00,
    "portfolio_value": 300.00
    }
    ```

    ### GET `/api/skin/<skin_id>/price`
    Получение текущей цены скина

    **Ответ:**
    ```json
    {
    "skin_id": 1,
    "skin_name": "AK-47 | Redline",
    "price": 45.50,
    "currency": "USD"
    }
    ```

    ### GET `/api/skin/<skin_id>/price-history`
    Получение истории цен скина

    **Ответ:**
    ```json
    [
    {
    "price": 45.50,
    "currency": "USD",
    "source": "Steam Market",
    "recorded_at": "2025-12-21T00:00:00"
    }
    ]
    ```

    ## База данных

    Приложение использует SQLite базу данных (`cs2_skins.db`), которая создается автоматически при первом запуске.

    ### Модели данных

    - **Skin** - информация о скинах
    - **Transaction** - транзакции покупки/продажи
    - **PriceHistory** - история изменения цен
    - **Portfolio** - текущее портфолио с расчетом прибыли/убытка

    ## Парсинг цен из Steam Market

    Приложение использует реальный парсинг цен из Steam Market через их публичный API endpoint.

    ### Особенности:
    - Автоматическая задержка между запросами (1-5 секунд) для избежания flood-wait
    - Обработка rate limiting (429 ошибки)
    - Автоматическое форматирование названий скинов для Steam Market
    - Обработка ошибок и таймаутов

    ### Формат названий скинов:
    Для корректной работы убедитесь, что названия скинов соответствуют формату Steam Market:
    - `AK-47 | Redline (Field-Tested)`
    - `AWP | Dragon Lore (Factory New)`
    - `M4A4 | Howl (Minimal Wear)`

    Если состояние указано отдельно в форме, оно будет автоматически добавлено к названию.

    ## Примечания

    **Важно:**
    1. Steam Market может ограничивать количество запросов - приложение автоматически добавляет задержки
    2. Для продакшена рекомендуется:
    - Добавить кэширование цен
    - Добавить поддержку других маркетплейсов (Buff163, Skinport, DMarket)
    - Добавить аутентификацию пользователей
    - Добавить экспорт данных (CSV, Excel)
    - Добавить графики и визуализацию данных

    ## Технологии

    - **Backend:** Flask (Python)
    - **Database:** SQLite (SQLAlchemy ORM)
    - **Frontend:** HTML, CSS, JavaScript
    - **Styling:** Custom CSS с градиентами и современным дизайном

    ## Лицензия

    MIT License

    ## Автор

    CS2 Skins Tracker MVP



    VT | DL
     
  2. DhostVDS
    Выглядит прикольно, но текст вот прям гавно, мне не нравится
     
    1. етернити Topic starter
      avatarDhostVDS , фулл вайбкод кого ебет?)
    2. етернити Topic starter
      avatarDhostVDS , работает? - работает.

      это MVP вообще, для готового продукта тут всеровно попилить еще надо чутка. кто захочет - заберет и допилит под себя. я лишь делюсь
    3. DhostVDS
  3. RTX4070
    Поиграйся с цветами, как то ярко все, не цветовая схема как будто для игр
     
    1. етернити Topic starter
      avatarRTX4070, это mvp, рабочий прототип. Тут не в дизайне дело а в функционале
  4. cedro
    cedro Dec 21, 2025 A clear conscience is a soft pillow. 749 Jun 25, 2020
    судя по дизу и коду курсор очень сильно устал..
    вайбкод сила:muscle:
    ну а так полезная штука для кого то
     
    1. етернити Topic starter
      avatarcedro, верно подметил, ну а че, работает и хорошо
Loading...