Требования к приложениям Брацкого Облака

Материал из Брацка Правки
Версия от 19:54, 18 сентября 2022; Sonya (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Требования к приложениям Брацкого Облака (здесь и далее по тексту -- Требования) -- это технические требования к любому программному обеспечению, использующемуся Брацким Облаком.


Общие требования

Принципиально

  1. Центральная авторизация пользователей и выдача прав доступа через Оплёт, который в качестве идентификатора использует приложения типа Amazon Cognito, Microsoft Azure Active Directory и/или OpenStack Keystone;
  2. Правила создания, хранения и восстановления запасной версии и снимков системы должны быть чётко прописаны, выполняться и периодически проверяться.

Применимо к вэб-интерфейсам

  1. Сертификаты SSL (если иное не имеет большего смысла -- то Let's Encrypt);
  2. Mногоязычность (если иное не установлено -- английский по умолчанию);
  3. Изображения должны пройти оптимизацию
  4. В качестве изображений лучше использовать svg - нет проблем с ретиной, и они тоже должны быть оптимизированы
  5. Заголовки и названия страниц должны соответствовать их официальным названиям и заголовкам;
  6. Где Стилевой шаблон вэбсайта предусматривает, должны быть загружены соответствующие логотипы и фирменные начертания;
  7. Фавиконки должны отображать соответствующие логотипы.

Требования к готовым приложениям

Если используются готовые, уже имеющиеся в наличии приложения, то требования к ним таковы:

Принципиально

  1. Открытый код (open source);
  2. Последняя стабильная версия;
  3. Выполнение всех рекомендаций по безопасности;
  4. Отсутствие возможности самостоятельной регистрации и авторизации пользователей в обход магистральной службы Оплёт. При нажатии закладки Log in, должен загружаться Оплёт;

Применимо к вэб-интерфейсам

  1. Если используются какие-либо сторонние библиотеки, то они должны быть выкачены локально

Требования к новому коду

Принципиально

  1. Соблюдение принципов DRY;
  2. Крайне желательно использовать препроцессоры в работе;
  3. Крайне желательно использовать какую-либо методологию наименования селекторов (например BEM);
  4. Весь код для продакшн версии сборки должен быть оптимизирован, сконкачен там где надо, сминифицирован;
  5. Код должен содержать комментарии, объясняющие как он соответствует настоящим требованиям.

Применимо к вэб-интерфейсам

  1. Адаптивная, кроссбраузерная и семантичная верстка
  2. Валидность и доступность (availability)
  3. Поддержка современных браузеров включая таких динозавров как Сафари10+ IE10+
  4. Обязательное тестирование, например с помощью browserstack
  5. Крайне желательно использовать сборку и автоматизацию с помощью webpack, gulp или grunt
  6. Анимации должны использовать свойство transform по-максимому и только потом уже остальные
  7. Желательно обходиться без фреймворков, а если очень хочется то пусть это будет что-то современное и без каскадов, 4-й бутстрап например
  8. Медиа запросы писать лучше не от большего к меньшему (max-width), а наоборот от меньшего к большему (min-width)