Описание изменений

This commit is contained in:
2025-03-07 14:22:41 +03:00
parent fc56362ac2
commit a332adc625
8 changed files with 178 additions and 81 deletions

30
.cursor/.gitignore vendored Normal file
View File

@@ -0,0 +1,30 @@
# Игнорировать всю директорию .cursor
.cursor/
# Но не игнорировать директорию rules
!.cursor/rules/
# Игнорировать временные файлы в директории rules
.cursor/rules/*.tmp
.cursor/rules/*.temp
# Игнорировать логи и кэш
.cursor/logs/
.cursor/cache/
# Игнорировать файлы настроек, которые могут содержать личные данные
.cursor/settings.json
.cursor/user-settings.json
.cursor/credentials.json
# Игнорировать историю и другие пользовательские данные
.cursor/history/
.cursor/user-data/
# Игнорировать файлы состояния
.cursor/state/
.cursor/*.state
# Игнорировать бэкапы
.cursor/backups/
.cursor/*.bak

View File

@@ -1,29 +0,0 @@
---
description: >
Это правило предназначено для управления поведением AI в проекте HB3A.
Оно учитывает специфику работы с различными каналами аутентификации и управления ролями.
globs:
- '**/*.js' # Применять ко всем JavaScript файлам
- '**/*.vue' # Применять ко всем Vue файлам
- '!node_modules/**' # Исключить node_modules
---
# Правила для проекта HB3A
- Учитывайте мультиканальную архитектуру аутентификации (веб, Telegram, Email).
- Проверяйте наличие токенов управления на балансе крипто кошелька для определения роли пользователя.
- Обеспечивайте безопасность данных, включая защиту от атак повторного воспроизведения и подделки подписей.
- Поддерживайте обновленную модель ролей: администратор и клиент, с соответствующими правами и возможностями.
- Учитывайте дорожную карту разработки и текущие этапы проекта при предложении новых функций или изменений.
# Ссылки на файлы
- @file ../services/auth-service.js
- @file ../routes/auth.js
- @file ../middleware/auth.js
# Дополнительные указания
- Используйте комментарии для объяснения сложных участков кода.
- Предлагайте оптимизации, если код можно улучшить по производительности или безопасности.
- Объясняйте концепции простым и понятным языком, особенно для новичков.

59
.cursor/rules/user.mdc Normal file
View File

@@ -0,0 +1,59 @@
---
description: Это правило предназначено для управления поведением AI в зависимости от возможностей пользователя. Оно определяет, как AI должен реагировать на команды и запросы пользователя.
globs: - '**/*.js' # Применять ко всем JavaScript файлам - '**/*.vue' # Применять ко всем Vue файлам - '!node_modules/**' # Исключить node_modules
---
# Правила для взаимодействия с пользователем
## Общение
- AI должен поддерживать общение на русском языке.
- AI должен предоставлять четкие и понятные ответы на вопросы.
## Работа с кодом
- Пользователь может копировать и вставлять команды в терминал или готовый код в файлы.
- AI должен предоставлять код в удобном для копирования формате.
- AI должен предлагать оптимизации и улучшения кода.
## Управление проектом
- Пользователь может создавать директории и папки.
- AI должен помогать в организации структуры проекта и предлагать лучшие практики.
- Пользователь может устанавливать программы и компоненты на локальном устройстве или в облаке.
- AI должен предоставлять рекомендации по установке и настройке необходимых инструментов.
## Работа с API
- Пользователь может создавать API ключи в сервисах.
- AI должен объяснять процесс создания и использования API ключей.
- AI должен предлагать примеры использования API в коде.
## Тестирование и отладка
- Пользователь может тестировать приложение в браузере.
- AI должен предоставлять советы по тестированию и отладке приложения.
- AI должен напоминать о заданиях и этапах дорожной карты разработки.
## Взаимодействие
- Пользователь может задавать и отвечать на вопросы.
- AI должен быть готов к взаимодействию и предоставлению информации по запросу.
- AI должен учитывать контекст предыдущих взаимодействий для более точных ответов.
## Обработка ошибок
- AI должен предоставлять четкие сообщения об ошибках и рекомендации по их устранению.
- AI должен предлагать отладочные шаги для выявления и исправления проблем в коде.
## Поддержка технологий
- AI должен учитывать, что пользователь работает с Vue.js, JavaScript и другими технологиями.
- AI должен предлагать решения и примеры, специфичные для используемых технологий.
## Настройка окружения
- AI должен предоставлять рекомендации по настройке локального и облачного окружения.
- AI должен объяснять, как устанавливать и настраивать необходимые зависимости и инструменты.
## Управление версиями
- AI должен напоминать о необходимости коммитить изменения и создавать ветки в Git.
- AI должен предлагать советы по разрешению конфликтов при слиянии веток.
## Обратная связь
- AI должен запрашивать обратную связь о своих ответах и рекомендациях.
- AI должен использовать полученную обратную связь для улучшения своих ответов в будущем.
# Дополнительные указания
- AI должен адаптироваться к стилю общения пользователя и предоставлять информацию в удобном формате.
- AI должен быть проактивным в предложениях по улучшению рабочего процесса пользователя.

View File

@@ -1,27 +0,0 @@
---
description: >
Это правило предназначено для управления поведением AI при работе с компонентами Vue.js.
Оно учитывает специфику работы с Vue и помогает поддерживать единообразие в проекте.
globs:
- '**/*.vue' # Применять ко всем Vue файлам
- '!node_modules/**' # Исключить node_modules
---
# Правила для компонентов Vue.js
- Следуйте соглашениям об именовании компонентов (PascalCase для имен файлов и компонентов).
- Используйте шаблоны, скрипты и стили в одном файле для каждого компонента.
- Обеспечивайте реактивность данных с помощью Vue Composition API или Options API.
- Используйте директивы Vue (v-if, v-for, v-bind и т.д.) для управления отображением.
- Поддерживайте чистоту и читаемость кода, используя комментарии для сложных участков.
# Ссылки на файлы
- @file ../components/ExampleComponent.vue
- @file ../views/ExampleView.vue
# Дополнительные указания
- Объясняйте концепции Vue.js простым и понятным языком.
- Предлагайте оптимизации, если код можно улучшить по производительности или безопасности.
- Учитывайте лучшие практики Vue.js при предложении изменений.

56
backend/.gitignore vendored
View File

@@ -1,33 +1,45 @@
# Dependency directories
# Зависимости
node_modules/
yarn-error.log
# Environment files
# Переменные окружения
.env
.env.local
.env.*.local
.env.development
.env.test
.env.production
# Hardhat files
# Логи
logs/*
!logs/.gitkeep
# Кэш и временные файлы
.cache/
cache/
dist/
build/
tmp/
temp/
# Артефакты Hardhat
artifacts/
cache/
typechain/
typechain-types/
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea/
.vscode/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# Coverage directory used by tools like istanbul
# Файлы покрытия кода
coverage/
coverage.json
# Sessions directory
sessions/
data/sessions/
# Файлы IDE
.idea/
.vscode/
*.sublime-project
*.sublime-workspace
# Системные файлы
.DS_Store
Thumbs.db
# Файлы сессий
sessions/

View File

@@ -119,3 +119,13 @@
{"level":"info","message":"User 13 with address 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b: admin=false","timestamp":"2025-03-06T18:30:01.749Z"}
{"level":"info","message":"Updated user 13 with address 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b: admin=false","timestamp":"2025-03-06T18:30:01.749Z"}
{"level":"info","message":"Token check completed","timestamp":"2025-03-06T18:30:01.749Z"}
{"level":"info","message":"Running scheduled token balance check","timestamp":"2025-03-07T11:00:00.391Z"}
{"level":"info","message":"Checking tokens for 2 users","timestamp":"2025-03-07T11:00:00.419Z"}
{"level":"error","message":"Error checking admin token: execution reverted: \"No active token\" (action=\"call\", data=\"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f4e6f2061637469766520746f6b656e0000000000000000000000000000000000\", reason=\"No active token\", transaction={ \"data\": \"0xa0d7823e0000000000000000000000000000000000000000000000000000000000000000\", \"to\": \"0xF352c498cF0857F472dC473E4Dd39551E79B1063\" }, invocation=null, revert={ \"args\": [ \"No active token\" ], \"name\": \"Error\", \"signature\": \"Error(string)\" }, code=CALL_EXCEPTION, version=6.13.5)","timestamp":"2025-03-07T11:00:01.373Z"}
{"level":"info","message":"Updated role for user 10 to user","timestamp":"2025-03-07T11:00:01.379Z"}
{"level":"info","message":"User 10 with address 0x0000000000000000000000000000000000000000: admin=false","timestamp":"2025-03-07T11:00:01.379Z"}
{"level":"info","message":"Updated user 10 with address 0x0000000000000000000000000000000000000000: admin=false","timestamp":"2025-03-07T11:00:01.379Z"}
{"level":"info","message":"Updated role for user 13 to user","timestamp":"2025-03-07T11:00:01.577Z"}
{"level":"info","message":"User 13 with address 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b: admin=false","timestamp":"2025-03-07T11:00:01.578Z"}
{"level":"info","message":"Updated user 13 with address 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b: admin=false","timestamp":"2025-03-07T11:00:01.578Z"}
{"level":"info","message":"Token check completed","timestamp":"2025-03-07T11:00:01.578Z"}

View File

@@ -44,3 +44,4 @@
{"level":"error","message":"Error checking admin token: execution reverted: \"No active token\" (action=\"call\", data=\"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f4e6f2061637469766520746f6b656e0000000000000000000000000000000000\", reason=\"No active token\", transaction={ \"data\": \"0xa0d7823e0000000000000000000000000a98c54327253bb51f99c8218e5a7a01933d5f57\", \"to\": \"0xF352c498cF0857F472dC473E4Dd39551E79B1063\" }, invocation=null, revert={ \"args\": [ \"No active token\" ], \"name\": \"Error\", \"signature\": \"Error(string)\" }, code=CALL_EXCEPTION, version=6.13.5)","timestamp":"2025-03-06T18:23:11.848Z"}
{"level":"error","message":"Error checking admin token: execution reverted: \"No active token\" (action=\"call\", data=\"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f4e6f2061637469766520746f6b656e0000000000000000000000000000000000\", reason=\"No active token\", transaction={ \"data\": \"0xa0d7823e0000000000000000000000000a98c54327253bb51f99c8218e5a7a01933d5f57\", \"to\": \"0xF352c498cF0857F472dC473E4Dd39551E79B1063\" }, invocation=null, revert={ \"args\": [ \"No active token\" ], \"name\": \"Error\", \"signature\": \"Error(string)\" }, code=CALL_EXCEPTION, version=6.13.5)","timestamp":"2025-03-06T18:23:12.075Z"}
{"level":"error","message":"Error checking admin token: execution reverted: \"No active token\" (action=\"call\", data=\"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f4e6f2061637469766520746f6b656e0000000000000000000000000000000000\", reason=\"No active token\", transaction={ \"data\": \"0xa0d7823e0000000000000000000000000000000000000000000000000000000000000000\", \"to\": \"0xF352c498cF0857F472dC473E4Dd39551E79B1063\" }, invocation=null, revert={ \"args\": [ \"No active token\" ], \"name\": \"Error\", \"signature\": \"Error(string)\" }, code=CALL_EXCEPTION, version=6.13.5)","timestamp":"2025-03-06T18:30:01.179Z"}
{"level":"error","message":"Error checking admin token: execution reverted: \"No active token\" (action=\"call\", data=\"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f4e6f2061637469766520746f6b656e0000000000000000000000000000000000\", reason=\"No active token\", transaction={ \"data\": \"0xa0d7823e0000000000000000000000000000000000000000000000000000000000000000\", \"to\": \"0xF352c498cF0857F472dC473E4Dd39551E79B1063\" }, invocation=null, revert={ \"args\": [ \"No active token\" ], \"name\": \"Error\", \"signature\": \"Error(string)\" }, code=CALL_EXCEPTION, version=6.13.5)","timestamp":"2025-03-07T11:00:01.373Z"}

47
frontend/.gitignore vendored
View File

@@ -1,4 +1,45 @@
node_modules
dist
# Зависимости
node_modules/
yarn-error.log
# Переменные окружения
.env
.env.local
.env.local
.env.development
.env.test
.env.production
# Сборка
dist/
dist-ssr/
build/
# Кэш
.cache/
.temp/
.vite/
# Логи
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Файлы IDE
.idea/
.vscode/*
!.vscode/extensions.json
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# Системные файлы
.DS_Store
Thumbs.db
# Локальные файлы
*.local