Перейти к основному содержимому

Обзор разработки

Документация по процессам разработки IT-продуктов в SoftonIT.

Архитектура системы

Процесс разработки

Технологический стек

sdfasdfa sdfasdfa sjldfhas.kdjf ha.skdf haskdfh aslkdfh alskudfh asudfh askudfhaklsudf hasudfhasudfh asudfhaskudfh aisudf asdf sdfasdfasdfas asdfasdfasdf

sdfasdfa sdfasdfa sjldfhas.kdjf ha.skdf haskdfh aslkdfh alskudfh asudfh askudfhaklsudf hasudfhasudfh asudfhaskudfh aisudf asdf sdfasdfasdfas asdfasdfasdf1

Backend

  • Node.js - серверная платформа
  • Express.js - веб-фреймворк
  • PostgreSQL - основная база данных
  • Redis - кэширование и сессии
  • Docker - контейнеризация

Frontend

  • React - библиотека для UI
  • TypeScript - типизированный JavaScript
  • Material-UI - компоненты интерфейса
  • Redux - управление состоянием
  • Webpack - сборка проекта

DevOps

  • GitLab CI/CD - автоматизация развертывания
  • Kubernetes - оркестрация контейнеров
  • Helm - управление Kubernetes приложениями
  • Prometheus - мониторинг

Процесс разработки

Git Flow

  1. Feature branches - разработка новых функций
  2. Code Review - обязательный код-ревью
  3. Automated Testing - автоматические тесты
  4. Staging Deploy - развертывание на тестовое окружение
  5. Production Deploy - развертывание на боевое окружение

Стандарты кодирования

  • ESLint - линтер для JavaScript/TypeScript
  • Prettier - форматирование кода
  • Husky - git hooks для проверки качества
  • Conventional Commits - стандарт коммитов

API Design

REST API

  • OpenAPI 3.0 - спецификация API
  • JSON - формат обмена данными
  • JWT - аутентификация
  • Rate Limiting - ограничение запросов

Документация API

  • Swagger UI - интерактивная документация
  • Postman Collections - коллекции для тестирования
  • Code Examples - примеры использования

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

Типы тестов

  • Unit Tests - модульные тесты (Jest)
  • Integration Tests - интеграционные тесты
  • E2E Tests - сквозные тесты (Cypress)
  • Performance Tests - нагрузочное тестирование

Pipeline тестирования

Покрытие кода

  • Минимальное покрытие: 80%
  • Обязательное покрытие критичных функций
  • Регулярные отчеты по покрытию

Релизы

Версионирование

  • Semantic Versioning (SemVer)
  • Changelog - журнал изменений
  • Release Notes - описание релиза

Диаграмма состояний релиза

Процесс релиза

  1. Подготовка релизной ветки
  2. Тестирование на staging
  3. Создание тега версии
  4. Развертывание на production
  5. Мониторинг после релиза

Ресурсы

Контакты

  • Tech Lead: tech-lead@softonit.ru
  • Канал разработки: #development
  • Code Review: #code-review