Цей розділ описує принципи, методології, інструменти та середовища розробки програмного забезпечення для забезпечення ефективності розробки, підтримки та розвитку системи.
Розробка програмного забезпечення Прозорро.Продажі здійснюється відповідно до принципів:
✅ Модульність – мікросервісна архітектура, що забезпечує гнучкість і масштабованість.
✅ Безперервна інтеграція та розгортання (CI/CD) – автоматизація тестування та деплою.
✅ Гнучка розробка (Agile/Scrum) – ітеративний підхід із частими релізами.
✅ Безпека за дизайном – врахування вимог КСЗІ, захисту персональних даних та фінансових операцій.
📌 У Прозорро.Продажі застосовуються наступні методи розробки:
Використовується ітеративний підхід із регулярними спринтами (2-4 тижні).
Впроваджується щоденний моніторинг завдань через Jira/ClickUp.
Постійна комунікація між командами (DevOps, Backend, Frontend, QA).
Автоматичне тестування та розгортання через GitHub Actions, Jenkins, GitLab CI/CD.
Використання Docker/Kubernetes для управління контейнерами.
Моніторинг продуктивності (Prometheus, Grafana).
Написання тестів перед реалізацією функціоналу.
Юніт-тестування (pytest, JUnit).
Автоматизоване функціональне тестування (Selenium, Cypress).
🔹 Основні середовища розробки:
Visual Studio Code / WebStorm – Frontend
PyCharm / IntelliJ IDEA / VS Code – Backend
Postman / Swagger – Тестування API
🔹 Контроль версій:
Git (GitHub, GitLab, Bitbucket)
Використання Git Flow
📌 Технології, що використовуються для реалізації основних компонентів:
| Компонент | Технології |
|---|---|
| Frontend | React.js, Vue.js, TypeScript |
| Backend | Python (Django/FastAPI), Node.js (Express), Java (Spring Boot) |
| База даних | PostgreSQL, MongoDB, Redis |
| Інтеграційні сервіси | REST API, GraphQL, WebSockets |
| Контейнеризація | Docker, Kubernetes |
| CI/CD | GitHub Actions, GitLab CI, Jenkins |
| Тестування | Jest, Selenium, PyTest |
📌 Якість коду та продуктивність перевіряються на всіх етапах розробки.
🔹 Статичний аналіз коду:
ESLint (JavaScript)
Pylint (Python)
SonarQube (загальний аналіз якості)
🔹 Динамічне тестування:
JUnit, PyTest – юніт-тестування
Cypress, Selenium – UI-тестування
🔹 Моніторинг продуктивності:
Prometheus, Grafana – контроль навантаження
Kibana – логування помилок
📌 Забезпечення безпеки коду та передачі даних:
✅ Використання OAuth 2.0, OpenID, JWT для автентифікації.
✅ Захист API через rate limiting, WAF, TLS 1.3.
✅ Перевірка вразливостей коду через OWASP ZAP, Snyk.
📌 Розробка ПЗ здійснюється за Agile-методологією з використанням DevOps-підходу.
📌 Інструменти автоматизації CI/CD забезпечують швидке розгортання та тестування.
📌 Ретельний підхід до тестування та моніторингу дозволяє підтримувати високу якість коду.