Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
24ee83a
feat: added docker compose grafana
gooodh Oct 20, 2025
89fc416
fix: config loki, prometheus, promtail
gooodh Nov 6, 2025
aefc093
fix: gitignore
gooodh Nov 6, 2025
405a50c
fix: command
gooodh Nov 6, 2025
e385ce2
fix: docker compose
gooodh Nov 6, 2025
e27901d
fix: requirements
gooodh Nov 6, 2025
e38933e
feat: added json dashboard
gooodh Nov 6, 2025
8344500
fix: command
gooodh Nov 7, 2025
103e2fc
fix: dashboard json
gooodh Nov 7, 2025
1da2135
fix: ab load testing
gooodh Nov 7, 2025
a7d4a36
fix: readme
gooodh Nov 7, 2025
7dc3e94
Merge pull request #1 from gooodh/grafana
gooodh Nov 7, 2025
d7fb523
fix: readme
gooodh Nov 7, 2025
f1e79ee
fix: readme
gooodh Nov 7, 2025
a04f7f1
feat: added tests
gooodh Nov 8, 2025
70e9dd2
fix: command
gooodh Nov 8, 2025
eb92e52
feat: added CI/CD Pipeline
gooodh Nov 9, 2025
8b6a609
fix: added ruff
gooodh Nov 9, 2025
5b3ff5b
fix: command
gooodh Nov 10, 2025
01cb9ce
fix: version python 3.13 fix requirements
gooodh Nov 10, 2025
ea3dcc6
fix: ruff Ignore
gooodh Nov 10, 2025
dd8a527
fix: code lint ruff
gooodh Nov 10, 2025
d97468c
fix: models Role, user
gooodh Nov 10, 2025
eb4b1be
fix: Excluding Alembic migration files
gooodh Nov 10, 2025
c92a974
fix: lint ruff
gooodh Nov 10, 2025
03d47d0
fix: dependabot.yml
gooodh Nov 10, 2025
e63c1b8
fix: dependabot.yml
gooodh Nov 10, 2025
f1afbda
fix: main
gooodh Nov 10, 2025
8383f74
fix: config
gooodh Nov 10, 2025
6a86f87
feat: added mypy
gooodh Nov 10, 2025
4ad5a55
fix: added init
gooodh Nov 10, 2025
aa73623
fix: config tests
gooodh Nov 10, 2025
6654e2e
fix: base.py type
gooodh Nov 10, 2025
e9d1605
fix: database decorator @declared_attr.directive
gooodh Nov 10, 2025
0f0d233
fix: readme
gooodh Nov 10, 2025
4125dee
fix: ci Pipeline
gooodh Nov 10, 2025
9d162d4
Merge pull request #4 from gooodh/cicd
gooodh Nov 10, 2025
8de9f5d
fix: dockerfile, ci
gooodh Nov 10, 2025
aaf18f8
Merge pull request #5 from gooodh/cicd
gooodh Nov 10, 2025
85bf93a
ci(deps): bump codecov/codecov-action from 4 to 5
dependabot[bot] Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Тестовые переменные окружения
DATABASE_URL=sqlite+aiosqlite:///./test.db
SECRET_KEY=test-secret-key-for-testing-only
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
ENVIRONMENT=test

# Настройки для тестирования
TESTING=true
LOG_LEVEL=WARNING
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug Report
about: Создать отчет об ошибке
title: '[BUG] '
labels: bug
assignees: ''
---

## Описание ошибки
Краткое и понятное описание ошибки.

## Шаги для воспроизведения
1. Перейти к '...'
2. Нажать на '...'
3. Прокрутить вниз до '...'
4. Увидеть ошибку

## Ожидаемое поведение
Описание того, что должно было произойти.

## Фактическое поведение
Описание того, что произошло на самом деле.

## Скриншоты
Если применимо, добавьте скриншоты для объяснения проблемы.

## Окружение
- ОС: [например, Ubuntu 20.04]
- Python версия: [например, 3.12]
- Версия приложения: [например, 1.0.0]

## Логи
```
Вставьте соответствующие логи здесь
```

## Дополнительный контекст
Добавьте любой другой контекст о проблеме здесь.
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Feature Request
about: Предложить новую функциональность
title: '[FEATURE] '
labels: enhancement
assignees: ''
---

## Описание функциональности
Краткое описание желаемой функциональности.

## Мотивация
Объясните, зачем нужна эта функциональность. Какую проблему она решает?

## Предлагаемое решение
Описание того, как вы видите реализацию этой функциональности.

## Альтернативы
Описание альтернативных решений или функций, которые вы рассматривали.

## Дополнительный контекст
Добавьте любой другой контекст или скриншоты о запросе функциональности здесь.

## Приоритет
- [ ] Низкий
- [ ] Средний
- [ ] Высокий
- [ ] Критический
38 changes: 38 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Pull Request

## Описание изменений
<!-- Опишите, что изменилось в этом PR -->

## Тип изменений
<!-- Отметьте подходящие варианты -->
- [ ] 🐛 Исправление бага
- [ ] ✨ Новая функциональность
- [ ] 💄 Улучшение UI/UX
- [ ] ♻️ Рефакторинг кода
- [ ] 📝 Обновление документации
- [ ] 🔧 Изменения в конфигурации
- [ ] ⚡ Улучшение производительности
- [ ] 🔒 Исправления безопасности

## Связанные задачи
<!-- Укажите номера issues, если есть -->
Closes #

## Тестирование
<!-- Опишите, как тестировались изменения -->
- [ ] Добавлены новые тесты
- [ ] Все существующие тесты проходят
- [ ] Проведено ручное тестирование

## Чеклист
- [ ] Код соответствует стандартам проекта
- [ ] Добавлена документация для новых функций
- [ ] Обновлены тесты
- [ ] Проверена безопасность изменений
- [ ] Проверена производительность

## Скриншоты (если применимо)
<!-- Добавьте скриншоты для UI изменений -->

## Дополнительные заметки
<!-- Любая дополнительная информация для ревьюеров -->
107 changes: 107 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# CI/CD Configuration

Этот проект использует GitHub Actions для автоматизации процессов разработки.

## Workflows

### 🔄 CI/CD Pipeline (`ci.yml`)
Основной pipeline, который запускается при каждом push и pull request:

- **Тестирование**: Запуск unit и integration тестов
- **Проверка качества кода**: Линтинг, форматирование, типизация
- **Сканирование безопасности**: Bandit и Safety проверки
- **Сборка Docker образа**: Автоматическая сборка и публикация
- **Деплой**: Автоматический деплой в staging/production

### 📊 Code Quality (`code-quality.yml`)
Проверка качества кода:

- Black (форматирование)
- isort (сортировка импортов)
- Flake8 (линтинг)
- MyPy (проверка типов)
- Bandit (безопасность)
- Radon (сложность кода)

### 🔄 Dependency Update (`dependency-update.yml`)
Автоматическое обновление зависимостей каждый понедельник.

### 🚀 Release (`release.yml`)
Автоматическое создание релизов при создании тегов.

## Настройка

### 1. Secrets
Добавьте следующие secrets в настройках репозитория:

- `GITHUB_TOKEN` - автоматически доступен
- Дополнительные secrets для деплоя (если нужны)

### 2. Environments
Создайте environments в настройках репозитория:

- `staging` - для тестового окружения
- `production` - для продакшн окружения

### 3. Branch Protection
Настройте защиту веток:

- Требовать проверку статуса CI
- Требовать актуальные ветки
- Ограничить push в main/develop

## Локальная разработка

### Pre-commit хуки
```bash
make pre-commit-install
```

### Запуск тестов локально
```bash
make ci-test
```

### Проверка качества кода
```bash
make ci-lint
```

### Проверка безопасности
```bash
make ci-security
```

## Деплой

### Staging
Автоматически деплоится при push в `develop` ветку.

### Production
Автоматически деплоится при создании release.

### Ручной деплой
Можно запустить workflow вручную через GitHub Actions UI.

## Мониторинг

- Codecov для покрытия тестами
- GitHub Security для уязвимостей
- Dependabot для обновления зависимостей

## Troubleshooting

### Тесты падают в CI
1. Проверьте логи в GitHub Actions
2. Запустите тесты локально: `make ci-test`
3. Проверьте переменные окружения

### Проблемы с качеством кода
1. Запустите локально: `make ci-lint`
2. Исправьте ошибки автоматически: `make format`
3. Проверьте конфигурацию в `.flake8` и `pyproject.toml`

### Проблемы с Docker
1. Проверьте Dockerfile
2. Убедитесь, что все зависимости указаны
3. Проверьте логи сборки в Actions
40 changes: 40 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
version: 2
updates:
# Обновления Python зависимостей
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
open-pull-requests-limit: 10
reviewers:
- "gooodh" # Замените на ваш username
assignees:
- "gooodh" # Замените на ваш username
commit-message:
prefix: "deps"
include: "scope"

# Обновления GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
open-pull-requests-limit: 5
reviewers:
- "gooodh" # Замените на ваш username
commit-message:
prefix: "ci"
include: "scope"

# Обновления Docker
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
open-pull-requests-limit: 5
Loading
Loading