CodiPing. Сложный ecommerce и нестандартные интеграции. CodiPing-PRO
Адреса:49000, Січеславська Набережна, 29А, Дніпро, Дніпропетровська область, 8-й поверх, офіс 285. 123317 Дніпро,
Телефон:+38 (093) 416 94 60, Електронна пошта:[email protected]

Технології

Ми створюємо веб-сайти та додатки з використанням PHP-фреймворків, Java, C#, Python, понад 7 років. Ми знаємо, як виконати проєкт без порушення існуючих бізнес-процесів.

1
Підписання контракту
2
Дизайн
3
UI/UX Дизайн
4
Верстка та Front-end розробка
5
Програмування
6
Тестування
7
Запуск

Технології та фреймворки

Backend
Апаратна та програмна складова сервісу, що відповідає за його внутрішнє функціонування.
php
Laravel
Symfony
YII
ZEND
Java
ASP.net (C#)
GO
Python
Node.js
Ruby
Frontend
Користувацький інтерфейс, видима користувачам частина веб-сайту або програми
Angular
LESS
Pug
ExtJS
Javascript
Nuxt
ReactJS
SASS
ZEND
SockJS
Stomp
TypeScript
Vue
Webpack
Тестування (Автоматизовані тести)
Jenkins
Selenium
Cucumber
Calabash
JUnit
Навантажувальне тестування
Apache JMeter
Yandex.Tank
HPE LoadRunner
SoapUI
Функціональне тестування
QTP
TESTRAIL (REST API)
MICROSOFT MTM
SILKTEST
Мобільна розробка
Мобільна розробка
OBJECTIVE C
JAVA
REACT
Flutter
Звітність та журнали
TESTRAIL (REST API)
ALLURE
NAGIOS
ZABBIX
ELK STACK
ELASTICSEARCH
KIBANA
LOGSTASH
Управління
ERP (Планування ресурсів підприємства)
Управління холдингом
Управління документацією
Управління персоналом
Корпорація

Типовий склад: проєктний менеджер, аналітик, технічний письменник, 2-3 розробники, артдиректор + дизайнер та 1-2 QA-фахівці.

Project Manager— центральна ланка проєкту: все пам'ятає, за все відповідає та залишається з вами під час подальшого розвитку проєкту.

Як завжди, все це підтримується топменеджментом: технічним директором та акаунт-директором.

Project Manager
1 СПЕЦІАЛІСТ
Аналітик
1 СПЕЦІАЛІСТ
Технічний письменник
1 СПЕЦІАЛІСТ
Розробник
2-3 фахівці
QA Інженер
1-2 фахівці
Артдиректор
1 фахівець
Дизайнер
1 фахівець

Старт проєкту

Аналітика та передпроєктне дослідження

Бізнес-аналіз:

Визначаємо цілі та завдання бізнес-клієнтів, виявляємо проблемні точки клієнтів. Проводимо серію інтерв'ю, формуємо бачення проєкту та високорівневий план розробки.

Конкурентний аналіз та бенчмаркінг є ключовими частинами дослідження: оцінюємо сильні та слабкі сторони досліджуваної системи та розробляємо рекомендації щодо її стратегії розвитку.

Аналіз користувачів:

Визначаємо цільову аудиторію, виділяємо пріоритетні сегменти. Збираємо вимоги користувачів та аналізуємо їхні проблемні точки за допомогою глибинних інтерв'ю та опитувань.

Аналізуємо системи веб-аналітики та технічний стан сайту на наявність помилок інтерфейсу та функціональності, складаємо перелік рекомендацій.

Технічні вимоги та прототипи

Проводимо інтерв'ю з робочою групою клієнта, збираємо бріфи та комунікуємо з IT-відділом клієнта.

На основі цієї роботи ми розробляємоТехнічне завдання: документ, який використовуватиметься для розробки веб-сайту. Також створюємо візуалізації — малюємо інтерактивні прототипи майбутнього веб-сайту.

Методологія розробки

Розробка ведеться за однією з трьох методологій:
Класична

Це послідовна модель розробки: технічне завдання, прототипи, дизайн, верстка, програмування, 2 цикли тестування та здача.

Термінова

Тут етапи йдуть паралельно, наприклад, щойно готовий дизайн головної сторінки, ми відправляємо його на верстку. Або, зверставши половину шаблонів, починаємо їхнє програмування. Цей метод економить час вдвічі, але коштує на 50-100%% дорожче.

Agile (T&M)

Agile-методологія, ідеальна для корпоративних порталів, де ефективніше затверджувати та опрацьовувати одне завдання за раз, ніж пів року розробляти те, що може застаріти до моменту затвердження. Agile складається з щотижневих спринтів, що дозволяє керувати та перенаправляти розробку проєкту щотижня.

Здача проєкту та підтримка

Пишемо окремий документ: програму та методику випробувань. Він використовується для здачі системи. Також створюємо автоматизовані тести (Selenium), а потім використовуємо Allure для візуальних звітів про їх виконання.

Навантажувальне тестування проводиться на сервері Клієнта та інших сервісах.

Після здачі ми підтримуємо проєкт, використовуючи Jenkins для безперервної інтеграції та GIT для контролю версій.

Управління ризиками

Під час написання технічного завдання ми створюємо структурну схему сайту з залежностями: це дозволяє поетапно програмувати та паралельно ставити завдання розробникам.

Використовуючи систему контролю версій, кілька розробників можуть працювати над проєктом одночасно, а їхні зміни легко відстежуються. Ця ж технологія застосовується і в подальшій підтримці веб-сайту.

Під час здачі проєкту ми використовуємо як автоматизоване, так і ручне тестування для охоплення всіх сценаріїв.

Інтеграція веб-сайту та інших систем
На цьому етапі ми працюємо з IT-відділом Клієнта: розробляємо API обміну, проєктуємо канали обміну даними. Результатом є односторонній або двосторонній обмін з ERP, AXAPTA, SAP та понад 20 менш відомими системами обліку та автоматизації.
Інтеграція CRM
Налаштуємо для вас CRM (AMOCrm або RetailCRM), після чого у вас будуть детальні звіти про продажі, сегментація за різними типами клієнтів для SMS та email-розсилок, а також аналітика рентабельності за джерелом реклами та типом товару/послуги.
DevOps та Highload
У нас є власні DevOps-інженери: ми побудуємо оптимальну схему розгортання, налаштуємо кластер, проведемо навантажувальне тестування та забезпечимо цілодобовий моніторинг після запуску проєкту.

Стандарти якості

Дотримуючись внутрішніх стандартів, ми підтримуємо високу якість продукту.

Саме тому ми надаємо довічну гарантію на наш код. Крім того, наші проєкти не були зламані та не зазнавали витоків даних за всі 7 років нашої роботи.

Нижче наведено деякі (частково) положення з наших внутрішніх документів.

Стандарти Frontend

Правило оцінки завдань

  • Завжди надавайте оцінки для завдань

  • Якщо завдання вже має оцінку від іншого розробника, переоцініть його, якщо ви не згодні з нею

Якщо ви працюєте над завданням з чужою оцінкою, ви погоджуєтеся з нею.

Правила розробки проєкту

  • Розробка ведеться суворо в нашому gitlab

  • Щодня комітьте та пуште результати роботи в репозиторій. Не повинно бути ситуацій, коли ви втрачаєте кілька днів роботи через такі причини, як «зламався комп'ютер», «переїжджав і забув скопіювати» тощо.

  • Надсилайте мердж-реквести тімліду або старшому фронтенд- розробнику на рев'ю.

Вимоги до якості проєкту

Загальні вимоги

Браузери

Chrome, Firefox, Safari, Edge

Точні версії браузерів, а також додаткові версії, слід запитувати у менеджера перед виконанням завдання, якщо вони не вказані в технічному завданні.

За замовчуванням має бути забезпечена підтримка двох останніх версій браузерів.

Адаптивність

Сайт має бути адаптивним

Зображення
  • Логотипи мають бути у форматі SVG

  • На продакшн та тестових середовищах: звичайні зображення повинні мати webp-версії, а їхній розмір має відповідати контейнеру (тег picture)

Юзабіліті
  • Усі посилання повинні реагувати на :hover, :active та :focus

  • При створенні статичних сторінок (наприклад, деталі Новин) більшість статичних елементів повинні бути стилізовані. Приклад: посилання, списки ul/ol, таблиці, заголовки.

  • При створенні статичних сторінок зображення не повинні бути примусово розтягнуті на всю ширину. Додайте стилі до img: max-width: 100%, display: block, margin: 0 auto, padding: 10px, щоб зображення зберігали свій природний розмір, але не перевищували розмір контейнера статичної сторінки.

  • Зміна розміру textarea не повинна ламати верстку

  • Футер повинен «прилипати» до нижньої частини браузера, коли немає контенту або його дуже мало

  • Пагінація слайдера не повинна ламатися, коли багато слайдів. Вона повинна рухатися або переходити вбік. Уточніть у менеджера та дизайнера, як це має бути для поточного проєкту

  • Валідація форм повинна працювати

  • Поле телефону повинно використовувати маску

  • Кнопка «submit» форми повинна бути заблокована при першому кліку, щоб уникнути множинних відправок. Вона повинна бути розблокована після отримання відповіді від сервера.

  • Виводити повідомлення про успішну/невдалу відправку форми

  • Усі елементи інтерфейсу, які оновлюють свої дані без перезавантаження сторінки, повинні мати прелоадер

  • Усі списки (Заявки, користувачі тощо) повинні мати пагінацію. Якщо це SPA, API має надавати дані з урахуванням пагінації

  • При створенні живого фільтра (фільтра, що працює без натискання кнопки застосування) використовуйте переривання запиту

  • Інформація про збірку проєкту та складну функціональність повинна бути описана у файлі README.md проєкту

  • Створити попап на сайті, якщо в браузері клієнта вимкнені файли cookie. Це можна перевірити за допомогою JS через navigator.cookieEnabled. Повідомлення в попапі має бути таким: «Для коректної роботи сайту необхідно ввімкнути файли cookie в браузері.»

JS
  • Код повинен бути написаний відповідно до конфігурації ESLint проєкту

  • Код повинен бути модульним. Назви модулів повинні відображати зміст контенту

  • Бібліотеки встановлюються через yarn

  • Для створення слайдерів використовуйте swiper

  • Якщо проєкт працює з API, адреси доменів повинні бути розміщені в змінних середовища. Файл .env.

  • Файл .env не повинен бути під git

  • Створіть файл .env.example зі списком необхідних змінних середовища. Змінні повинні мати опис

  • Відправка форм повинна працювати через FormData

CSS
  • БЕМ

  • Код повинен бути модульним. Назви модулів повинні відображати зміст контенту

Додаткові вимоги для SPA-проєктів

Юзабіліті
  • Налаштування фільтра каталогу товарів повинні відображатися в URL з GET-параметрами

Додаткові вимоги для статичної верстки

HTML
  • Верстка повинна проходити валідацію W3C

  • Семантична верстка. Як мінімум, title, description та заголовки h1.

  • Зображення повинні мати атрибути alt

  • Назви та значення атрибутів (class="detail-page", id="news-list", тощо) повинні бути в стилі kebab-case

 

Контроль версій: Регламент роботи з GIT

1. Перед початком роботи

Ми працюємо суворо з GIT. Жодна робота не ведеться без GIT.

2. Вимоги до налаштування GIT

На головному хості має бути активована гілка stage. Гілка master використовується лише для продакшн- хоста.
Використовуйте лише \n для розривів рядків.
Переконайтеся, що .gitignore налаштовано правильно.
Приклад налаштування .gitignore:



/upload/
/upload
/local/vendor/
/local/vendor
/web.config
/.htaccess
/robots.txt
/*.xml
*.swp
*.log
*.zip
*.tar
*.rar
*.gz

Якщо вся папка розміщена в .gitignore, але потрібно працювати з певним шаблоном, його можна повернути в git за допомогою: !templates/learning_10_0_0/
.gitignore можна змінювати та розширювати залежно від потреб проєкту.
Скрипти налагодження, журнали, медіафайли, зареєстровані в базі даних, та інші подібні файли не повинні потрапляти до GIT.
Усі розробки переглядаються тімлідом/старшим програмістом проєкту. Уточніть головного програміста у менеджера. Розробник не змінює гілки master, stage, layout-master, layout-stage, а також гілки, створені іншими розробниками, оминаючи тімліда. 1 розробник - 1 хост. Якщо над проєктом одночасно повинні працювати кілька розробників, кількість хостів на проєкті повинна дорівнювати кількості розробників + 1 (загальний хост, куди зливаються всі зміни). Керівник проєкту контролює це та повинен бути поінформований, якщо вимога не виконується.
Усі розробки розробників спочатку зливаються в stage, потім у master. Нічого не зливається безпосередньо в master. Усі нові гілки для нових завдань починаються з поточного stage. Перенесення змін на продакшн здійснюється тімлідом проєкту або його старшим програмістом проєкту.

3. Перенесення розробок та деплої

3.1. Обов'язкове злиття всіх розробок у репозиторій у вівторок та четвер

Щовівторка та щочетверга всі розробки мають бути злиті у віддалений репозиторій. Розробки зливаються по мірі готовності та обов'язково у вівторок та четвер, навіть якщо блок не завершено. Відповідальний за контроль — тімлід. Виконавець цієї події — розробник. Розробник повинен запушити всі розробки в репозиторій до 19:00 у вівторок та четвер. Тімлід, залежно від потреб проєкту, може змінювати частоту обов'язкових злиттів у репозиторій. Це може бути частіше, але не рідше. Якщо немає додаткових вимог від тімліда, обов'язкові злиття в репозиторій відбуваються у вівторок та четвер. За порушення цієї вимоги буде накладено штраф. Якщо між термінами злиття був безперервний простій, ця вимога не застосовується.

3.2. Деплої на продакшн

Дні деплою - пн, вт, ср, чт з 10:00 до 16:00. Пт з 10:00 до 15:00. Винятки можливі лише для термінових завдань та за погодженням з керівником проєкту.

4. Створення та оновлення нової гілки перед початком нового завдання

Правила найменування гілок описані в розділі 6. Оновіть локальну гілку stage з віддаленого репозиторію. Створіть локальну гілку розробки з stage.

5. Звіт про виконану роботу та підготовка до перенесення розробок на препродакшн для перевірки

Після завершення розробок необхідно виконати git pull ... у поточну гілку з гілки stage віддаленого головного репозиторію, щоб уникнути конфліктів.
Запуште гілку з розробками за допомогою git push ... в ту саму гілку віддаленого репозиторію.
У віддаленому репозиторії створіть мердж-реквест у stage тімліду або старшому на проєкті, якщо вони відповідають за злиття.
Прикріпіть у пункті чекліста або в коментарі до завдання, якщо його немає, посилання на мердж- реквест з розробкою та коментар щодо суті розробки.
Повідомте тімліда або старшого на проєкті, якщо вони відповідають за злиття, для перегляду роботи та прийняття мердж-реквесту або повернення його на доопрацювання.
Якщо все добре, перевірте роботу на головному тестовому середовищі.
Тестування розробок проводиться лише на головному тестовому середовищі!
Примітка: На розсуд тімліда проєкту оновлення гілки може здійснюватися з гілки master замість stage.

6. Правила перенесення розробок на продакшн

Якщо виконане завдання необхідно перенести на продакшн:
Необхідно виконати git pull ... з гілки master віддаленого головного репозиторію, щоб уникнути конфліктів.
Створіть новий мердж-реквест, але цього разу зливаючи в master.
Прикріпіть у пункті чекліста або в коментарі до завдання, якщо його немає, посилання на мердж- реквест з розробкою та коментар щодо суті розробки.
Також повідомте тімліда або старшого на проєкті, якщо вони відповідають за злиття, хто перегляне, прийме зміни (тімлід та менеджер) та запушить зміни на продакшн.
Перевірте функціональність на продакшні.
Для коректного перенесення важливо знати:
  • Не переносьте папку .git за допомогою інструментів.
  • Не чіпайте папку .git.
  • Якщо відбуваються якісь перенесення середовищ, перевірте працездатність git після перенесення.
  • Уточніть у клієнта, якщо можливо, які зміни знаходяться на продакшні.

7. Правила найменування гілок

7.1. Правильне найменування гілок

7.1.1. Якщо чеклісти великі

Назви гілок повинні містити номер завдання та номер чекліста, за яким ведеться робота, та пункт чекліста.
Таким чином, при виконанні завдання гілка виглядатиме так:
ih/taskNumber-Checklist/briefTaskDescription
  • ih означає inhouse, тобто штатний співробітник.
  • os означає outstaff, тобто підрядник.
  • taskNumber - завжди вказуйте номер завдання.
  • Checklist - завжди вказуйте номер чекліста.
  • briefTaskDescription — це 2 - 4 слова.
Приклад правильно названої гілки:
ih/54361-3/updateCatalogStyles
У гілках важливо писати номери завдань та чеклістів у комітах:
git commit -m "task-22333, buglist-1,2"

7.1.2. Якщо чеклісти малі та не потребують окремого перенесення

Назви гілок повинні містити номер завдання.
Таким чином, при виконанні завдання гілка виглядатиме так:
ih/taskNumber/briefTaskDescription
  • ih означає inhouse, тобто штатний співробітник.
  • os означає outstaff, тобто підрядник.
  • taskNumber - завжди вказуйте номер завдання.
  • briefTaskDescription — це 2 - 4 слова.
Приклад правильно названої гілки:
ih/54361/updateCatalogStyles
У гілках важливо писати номери завдань та чеклістів у комітах
git commit -m "task-22333, buglist-1,2"

7.2. Найменування гілок з багами

7.2.1. Найменування гілок з багами для одного пункту чекліста

ih/54361-3/bugFix

7.2.2. Найменування гілок з багами для всього завдання

#Ця гілка використовується для масових виправлень багів
ih/54361/bugFix

7.3. Крайній випадок у найменуванні гілок

У випадку, якщо робота з якоїсь причини не прив'язана до конкретного завдання, найменування таке:
ih/yearday/briefTaskDescription
Приклад альтернативно названої гілки, якщо для неї немає завдання:
ih/2107/checkoutRefactoring

8. Правила найменування комітів

Назви комітів повинні відображати суть виконаної роботи.
Назва коміту повинна включати номер завдання та номер пункту завдання.
Приклад:"54361-1 import elements to offers iblock" Де 54361-1 - це номер завдання та номер пункту, розділені дефісом.

9. Якщо відредагований файл неправильно відформатований (PSR, Line Breaks)

Якщо вам доводиться працювати з існуючим кодом у файлі, і цей код неправильно відформатований, якщо ми внесемо зміни та відформатуємо весь файл, коміт не покаже чітко, що було змінено.
Щоб запобігти цій проблемі, необхідно:
  • Перед початком роботи відформатуйте файл відповідно до правил написання коду (у PHPStorm використовуйте [CTRL] + [ALT] + L) та закомітьте, переконавшись, що PHPStorm правильно налаштований для PSR та версії PHP. У коміті вкажіть, що це форматування.
  • Починайте працювати лише після коміту форматування.

10. Робота з версткою та стилями

Backend-розробник не редагує безпосередньо стилі чи верстку у backend-гілці. Для роботи з версткою використовується окремий репозиторій. Дотримуйтесь правил роботи з інструментами збірки.

11. Уточнення до правил перенесення змін на продакшн (окремий випадок до пункту 5)

Нову гілку необхідно оновлювати щоразу перед виконанням, і з неї можна підтягувати з гілки pre-production те, що ще не можна переносити.
Оскільки в цьому проєкті очікується довга черга на перенесення змін на продакшн та тривалий час на прийняття нової функціональності з різних блоків, необхідно:
  • Усі коміти (хеші), пов'язані з виконаним пунктом завдання, повинні бути перелічені.
  • Перенесення на продакшн слід здійснювати цілими блоками (логічно завершеними блоками), а не частинами, щоб уникнути конфліктів та багів через перекриття комітів.
  • Перенесення слід здійснювати за допомогою гілок релізу, наприклад: release/20210408, де 20210408 - це сьогоднішня дата.
  • Розробки слід переносити до гілки релізу за допомогою команди: git cherry-pick commit.
Ви повинні знаходитися в гілці, куди хочете перенести коміт, використовуючи команду git cherry-pick commit.
Якщо коміту, який потрібно перенести, немає у вашому локальному git, спочатку необхідно підтягнути зміни з інших гілок до вашого git (команда у вашій гілці з інших гілок нічого не зіллє) git fetch origin git fetch - підтягує дані у ваш локальний репозиторій, але не зливає їх з вашими розробками та не змінює те, над чим ви зараз працюєте. Вам необхідно вручну злити ці дані з вашими, коли ви будете готові.

12. Корисні команди для тімліда

12.1 Команда для додавання нових змін до останнього коміту

Команда корисна, але не проста. Після цього ви не зможете запушити зміни до репозиторію. Спочатку необхідно підтягнути та вирішити конфлікти у доданому файлі.
  • git add file
  • git commit --amend --no-edit

13. Інше

У будь-яких незрозумілих ситуаціях звертайтеся до документації GIT першоджерела. Якщо рішення не знайдено, зверніться за допомогою до колег (програмістів, тімліда).
Безпека

Загальні вимоги

Верифікація (перевірка) експлуатаційної документації від постачальника, спільноти на наявність інформації щодо підтримки та оновлень, включаючи виправлення вразливостей.

Ідентифікація та аутентифікація

Для ідентифікації користувачів під час доступу кожному користувачеві повинен бути присвоєний унікальний персональний ідентифікатор.

Доступ користувачів повинен бути реалізований через парольну аутентифікацію.

Необхідно забезпечити захист зворотного зв'язку при введенні аутентифікаційної інформації.

Локальна політика паролів повинна відповідати таким вимогам:

  • політика складності паролів;

  • збереження історії паролів;

  • налаштування терміну дії паролів;

  • можливість змінити пароль при першому вході;

  • можливість користувачам самостійно змінювати свій пароль

Можливість інтеграції з системою керування ідентифікацією.

Авторизація користувачів для доступу повинна відбуватися лише після завершення процедур ідентифікації та аутентифікації.

Підтримка механізмів багатофакторної аутентифікації.

Керування доступом.

Керування доступом

Для керування правами доступу користувачів слід використовувати систему контролю доступу на основі ролей.
Підтримка успадкування прав доступу.

Необхідно, щоб підсистема контролю доступу дозволяла надавати права доступу в мінімально необхідному обсязі.

Доступ до інтерфейсу адміністрування, конфігурації та тимчасових файлів повинен бути обмежений.

Дії користувачів повинні бути заборонені до завершення процедури ідентифікації та аутентифікації (анонімні підключення повинні бути заборонені).

Необхідно забезпечити контроль доступу між компонентами.

Необхідно забезпечити обмеження кількості невдалих спроб входу до системи.

Необхідно забезпечити автоматичне блокування сесії після визначеного періоду бездіяльності, а відновлення сесії повинно відбуватися лише після повторної аутентифікації користувача.

Реєстрація та облік подій інформаційної безпеки

Необхідно передбачити механізми реєстрації та обліку подій інформаційної безпеки.

Необхідно надати централізований інтерфейс для роботи з журналами подій безпеки.

Підсистема реєстрації та обліку подій повинна забезпечувати:


  • реєстрацію дати та часу спроб входу/виходу користувача з системи;

  • реєстрацію часу запуску/зупинки компонентів;

  • реєстрацію змін у привілеях користувачів;

  • реєстрацію змін конфігурації;

  • реєстрацію дій адміністратора;

  • реєстрацію дій користувачів

Для кожного типу події слід використовувати унікальний ідентифікатор.

Журнали подій повинні зберігатися протягом визначеного періоду.

Після закінчення періоду, виділеного для зберігання журналів подій, повинно відбуватися перезаписування подій.

Журнали подій повинні бути захищені від несанкціонованого перегляду та модифікації.

Захист програмного забезпечення

Необхідно забезпечити підтримку спільної роботи з антивірусним програмним забезпеченням.

Експлуатаційна документація повинна містити інформацію про необхідні мережеві параметри для функціонування (порт, протокол).

Усі паролі за замовчуванням для вбудованих облікових записів повинні бути змінними.

Усі вбудовані облікові записи повинні мати можливість блокування.

Налаштування за замовчуванням, які можуть бути використані для несанкціонованого доступу, повинні бути змінними.

Необхідно забезпечити можливість встановлення пакетів оновлень після їх публікації розробниками.

Забезпечення цілісності

Необхідно забезпечити контроль цілісності на рівні програмних компонентів та файлів конфігурації.

Повинна бути доступна можливість реалізації у відмовостійкій конфігурації.

Параметри резервного копіювання повинні бути визначені в експлуатаційній документації.

Мережева безпека

Необхідно забезпечити безпечну мережеву взаємодію (можливість фільтрації) між компонентами.

Необхідно забезпечити безпечну мережеву взаємодію (можливість фільтрації) із зовнішніми системами.

Криптографічний захист

Паролі (ключі) для облікових записів користувачів повинні зберігатися та передаватися в зашифрованому/хешованому вигляді.

Можливість зберігання паролів (ключів) у технічних атрибутах (файлах конфігурації) в зашифрованому/хешованому вигляді.

Необхідно забезпечити шифрування каналу зв'язку на рівні доступу користувача.

Необхідно забезпечити шифрування каналу зв'язку під час внутрішньої взаємодії компонентів системи.

Можливість інтеграції з існуючою інфраструктурою відкритих ключів.

Підтримка засобів криптографічного захисту на основі алгоритмів, що відповідають національним стандартам та мають документальне підтвердження відповідності встановленим вимогам.

Контроль НДВ

Відсутність НДВ, виявлених методами аналізу вихідного коду (застосовно, якщо вихідний код доступний).

Відсутність НДВ, виявлених методами статичного та динамічного аналізу програмного забезпечення.

Що нас виділяє

Завжди вчасно

Ми знаємо, як керувати термінами:

  • — ми одразу створюємо дорожню карту проєкту з залежностями, щоб уникнути простоїв
  • — ми одразу фокусуємося на найскладніших аспектах: інтеграціях, використанні технологій Big Data під час попередньої обробки даних
Повний контроль

Клієнти бачать всю команду в системі Intranet : усі завдання, чеклісти, звіти та обговорення. Домовленості фіксуються в завданнях, інформація не губиться (на відміну від пошти чи телефону).

Довічна гарантія

Ми надаємо довічну гарантію на весь написаний нами код.

Жодних зломів чи витоків даних

У 2022 році ми отримали ліцензії на технічний захист конфіденційної інформації та готові будувати безпечні системи або провести аудит ваших. За 7 років роботи у нас не було жодного випадку злому чи витоку інформації.

Коли ми найефективніші

  • сайт інтегрований з кількома системами, деякі з яких можуть не мати документації
  • сайт зараз або буде під високим навантаженням (понад 10 000 відвідувачів на день), і все має працювати швидко
  • для деяких завдань вам потрібні не лише «руки», а й «мізки», тобто аналітика та консалтинг
Оберіть спосіб зв'язку