Skip to content

stelmakhdigital/todo_api

Repository files navigation

API To-Do List Application

API To-Do List Application

Coverage

Описание

Небольшое REST-Api приложение для управления задачами.

Позволяет создавать, редактировать, просматривать и удалять задачи, а также отслеживать их статусы и получать статистику.

Установка

# Клонировать репозиторий и установить зависимости
go mod download

# Собрать приложение
go build -o todo

# Или запустить напрямую
go run main.go

Тестирование

Запуск всех тестов

go test ./...

добавьте аргумент -v если нужен детальный вывод

Для просмотра покрытия тестами пакетов

go test -cover ./...

Более детальный отчет в html

go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out

Разработка

При разработке нужно включить git-hooks для автоматизации запуска тестов, проверки кода и других подобных задач

brew install lefthook

Установить необходимые зависимости

go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
go install golang.org/x/tools/cmd/goimports@latest

Обновить хуки после изменения конфига

lefthook install -f

Проверка конфигурационного файла lefthook.yml

lefthook dump

Запуск хуков

lefthook run pre-commit
lefthook run pre-push

Запуск конкретной команды

lefthook run pre-commit --commands="lint"

Пропустить все хуки

LEFTHOOK=0 git commit -m "message"

Автоматическое код-ревью с Perplexity

Workflow pr-review.yml автоматически запускается при создании или обновлении Pull Request в ветку master или main и выполняет интеллектуальное код-ревью с помощью Perplexity AI.

Что проверяется:

  • Потенциальные баги и ошибки
  • Безопасность (SQL injection, XSS, обработка ошибок)
  • Производительность и оптимизации
  • Качество кода и Go best practices
  • Наличие и качество тестов
  • Документация и комментарии
  • Архитектура и паттерны проектирования
  • Дублирование кода и рефакторинг

При форке перейдите в настройки репозитория: Settings -> Secrets and variables -> Actions -> New repository secret и добавьте PERPLEXITY_API_KEY

Локальный запуск perplexity_review

Вы можете запустить скрипт локально:

Установка окружения и зависимостей:

python -m venv venv 
source venv/bin/activate
pip install requests

Экспорт необходимых переменных:

export PERPLEXITY_API_KEY="your-api-key"
export PERPLEXITY_AI_MODEL_NAME="sonar-pro"
export GITHUB_TOKEN="your-github-token"
export PR_NUMBER="123"
export REPO_NAME="username/repo"
export PR_DIFF="$(git diff master)"

Запуск:

python .github/scripts/perplexity_review.py

About

Небольшое Rest-Api приложения для управления задачами

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors