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