planflow-plugin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +93 -0
- package/bin/cli.js +169 -0
- package/bin/postinstall.js +87 -0
- package/commands/pfActivity/SKILL.md +725 -0
- package/commands/pfAssign/SKILL.md +623 -0
- package/commands/pfCloudLink/SKILL.md +192 -0
- package/commands/pfCloudList/SKILL.md +222 -0
- package/commands/pfCloudNew/SKILL.md +187 -0
- package/commands/pfCloudUnlink/SKILL.md +152 -0
- package/commands/pfComment/SKILL.md +227 -0
- package/commands/pfComments/SKILL.md +159 -0
- package/commands/pfConnectionStatus/SKILL.md +433 -0
- package/commands/pfDiscord/SKILL.md +740 -0
- package/commands/pfGithubBranch/SKILL.md +672 -0
- package/commands/pfGithubIssue/SKILL.md +963 -0
- package/commands/pfGithubLink/SKILL.md +859 -0
- package/commands/pfGithubPr/SKILL.md +1335 -0
- package/commands/pfGithubUnlink/SKILL.md +401 -0
- package/commands/pfLive/SKILL.md +185 -0
- package/commands/pfLogin/SKILL.md +249 -0
- package/commands/pfLogout/SKILL.md +155 -0
- package/commands/pfMyTasks/SKILL.md +198 -0
- package/commands/pfNotificationSettings/SKILL.md +619 -0
- package/commands/pfNotifications/SKILL.md +420 -0
- package/commands/pfNotificationsClear/SKILL.md +421 -0
- package/commands/pfReact/SKILL.md +232 -0
- package/commands/pfSlack/SKILL.md +659 -0
- package/commands/pfSyncPull/SKILL.md +210 -0
- package/commands/pfSyncPush/SKILL.md +299 -0
- package/commands/pfSyncStatus/SKILL.md +212 -0
- package/commands/pfTeamInvite/SKILL.md +161 -0
- package/commands/pfTeamList/SKILL.md +253 -0
- package/commands/pfTeamRemove/SKILL.md +115 -0
- package/commands/pfTeamRole/SKILL.md +160 -0
- package/commands/pfTestWebhooks/SKILL.md +722 -0
- package/commands/pfUnassign/SKILL.md +134 -0
- package/commands/pfWhoami/SKILL.md +258 -0
- package/commands/pfWorkload/SKILL.md +219 -0
- package/commands/planExportCsv/SKILL.md +106 -0
- package/commands/planExportGithub/SKILL.md +222 -0
- package/commands/planExportJson/SKILL.md +159 -0
- package/commands/planExportSummary/SKILL.md +158 -0
- package/commands/planNew/SKILL.md +641 -0
- package/commands/planNext/SKILL.md +1200 -0
- package/commands/planSettingsAutoSync/SKILL.md +199 -0
- package/commands/planSettingsLanguage/SKILL.md +201 -0
- package/commands/planSettingsReset/SKILL.md +237 -0
- package/commands/planSettingsShow/SKILL.md +482 -0
- package/commands/planSpec/SKILL.md +929 -0
- package/commands/planUpdate/SKILL.md +2518 -0
- package/commands/team/SKILL.md +740 -0
- package/locales/en.json +1499 -0
- package/locales/ka.json +1499 -0
- package/package.json +48 -0
- package/templates/PROJECT_PLAN.template.md +157 -0
- package/templates/backend-api.template.md +562 -0
- package/templates/frontend-spa.template.md +610 -0
- package/templates/fullstack.template.md +397 -0
- package/templates/ka/backend-api.template.md +562 -0
- package/templates/ka/frontend-spa.template.md +610 -0
- package/templates/ka/fullstack.template.md +397 -0
- package/templates/sections/architecture.md +21 -0
- package/templates/sections/overview.md +15 -0
- package/templates/sections/tasks.md +22 -0
- package/templates/sections/tech-stack.md +19 -0
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
# {{PROJECT_NAME}} - Backend API პროექტის გეგმა
|
|
2
|
+
|
|
3
|
+
*შექმნილია: {{CREATED_DATE}}*
|
|
4
|
+
*ბოლოს განახლებული: {{LAST_UPDATED}}*
|
|
5
|
+
|
|
6
|
+
## მიმოხილვა
|
|
7
|
+
|
|
8
|
+
**პროექტის სახელი**: {{PROJECT_NAME}}
|
|
9
|
+
|
|
10
|
+
**აღწერა**: {{DESCRIPTION}}
|
|
11
|
+
|
|
12
|
+
**სამიზნე მომხმარებლები**: {{TARGET_USERS}}
|
|
13
|
+
|
|
14
|
+
**პროექტის ტიპი**: Backend API
|
|
15
|
+
|
|
16
|
+
**სტატუსი**: {{STATUS}} ({{PROGRESS_PERCENT}}% დასრულებული)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## პრობლემის განცხადება
|
|
21
|
+
|
|
22
|
+
**მიმდინარე პრობლემები:**
|
|
23
|
+
{{PAIN_POINTS}}
|
|
24
|
+
|
|
25
|
+
**გადაწყვეტა:**
|
|
26
|
+
{{SOLUTION}}
|
|
27
|
+
|
|
28
|
+
**მთავარი ფუნქციები:**
|
|
29
|
+
{{KEY_FEATURES}}
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## არქიტექტურა
|
|
34
|
+
|
|
35
|
+
### სისტემის მიმოხილვა
|
|
36
|
+
|
|
37
|
+
```mermaid
|
|
38
|
+
graph TB
|
|
39
|
+
subgraph "API Gateway"
|
|
40
|
+
A[Load Balancer]
|
|
41
|
+
B[Rate Limiter]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
subgraph "აპლიკაციის შრე"
|
|
45
|
+
C[API სერვერი<br/>{{BACKEND_FRAMEWORK}}]
|
|
46
|
+
D[ავთენტიფიკაცია]
|
|
47
|
+
E[ბიზნეს ლოგიკა]
|
|
48
|
+
F[ფონური დავალებები]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
subgraph "მონაცემთა შრე"
|
|
52
|
+
G[{{DATABASE}}]
|
|
53
|
+
H[Cache<br/>Redis]
|
|
54
|
+
I[შეტყობინებების რიგი]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
subgraph "გარე სერვისები"
|
|
58
|
+
J[Email სერვისი]
|
|
59
|
+
K[ფაილების საცავი<br/>S3]
|
|
60
|
+
L[მესამე მხარის API-ები]
|
|
61
|
+
M[ანალიტიკა]
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
A --> B
|
|
65
|
+
B --> C
|
|
66
|
+
C --> D
|
|
67
|
+
C --> E
|
|
68
|
+
E --> G
|
|
69
|
+
E --> H
|
|
70
|
+
F --> I
|
|
71
|
+
F --> G
|
|
72
|
+
C --> J
|
|
73
|
+
C --> K
|
|
74
|
+
C --> L
|
|
75
|
+
C --> M
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### API არქიტექტურა
|
|
79
|
+
|
|
80
|
+
```mermaid
|
|
81
|
+
graph LR
|
|
82
|
+
subgraph "მოთხოვნის ნაკადი"
|
|
83
|
+
A[კლიენტი] -->|HTTP| B[Middleware ჯაჭვი]
|
|
84
|
+
B --> C[ავთენტიფიკაცია]
|
|
85
|
+
C --> D[ვალიდაცია]
|
|
86
|
+
D --> E[Controller]
|
|
87
|
+
E --> F[Service შრე]
|
|
88
|
+
F --> G[მონაცემთა შრე]
|
|
89
|
+
G --> F
|
|
90
|
+
F --> E
|
|
91
|
+
E --> H[პასუხი]
|
|
92
|
+
end
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### მონაცემთა ნაკადი
|
|
96
|
+
|
|
97
|
+
```mermaid
|
|
98
|
+
sequenceDiagram
|
|
99
|
+
participant კლიენტი
|
|
100
|
+
participant API
|
|
101
|
+
participant Cache
|
|
102
|
+
participant რიგი
|
|
103
|
+
participant მონაცემთაბაზა
|
|
104
|
+
participant გარე
|
|
105
|
+
|
|
106
|
+
კლიენტი->>API: მოთხოვნა
|
|
107
|
+
API->>Cache: Cache-ის შემოწმება
|
|
108
|
+
alt Cache Hit
|
|
109
|
+
Cache-->>API: მონაცემების დაბრუნება
|
|
110
|
+
else Cache Miss
|
|
111
|
+
API->>მონაცემთაბაზა: Query
|
|
112
|
+
მონაცემთაბაზა-->>API: მონაცემები
|
|
113
|
+
API->>Cache: განახლება
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
opt ასინქრონული დავალება
|
|
117
|
+
API->>რიგი: Job-ის დამატება
|
|
118
|
+
რიგი->>გარე: დამუშავება
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
API-->>კლიენტი: პასუხი
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## ტექნოლოგიური სტეკი
|
|
127
|
+
|
|
128
|
+
### Backend Framework
|
|
129
|
+
- **Framework**: {{BACKEND_FRAMEWORK}} (Express.js, NestJS, Fastify, Django, Flask, Spring Boot)
|
|
130
|
+
- **ენა**: {{BACKEND_LANGUAGE}} (TypeScript, Python, Java, Go)
|
|
131
|
+
- **Runtime**: {{RUNTIME}} (Node.js, Python 3.x, JVM, Go)
|
|
132
|
+
|
|
133
|
+
### API და კომუნიკაცია
|
|
134
|
+
- **API სტილი**: {{API_STYLE}} (REST, GraphQL, gRPC, tRPC)
|
|
135
|
+
- **დოკუმენტაცია**: {{API_DOCS}} (Swagger/OpenAPI, GraphQL Playground)
|
|
136
|
+
- **ვალიდაცია**: {{VALIDATION}} (Zod, Joi, Pydantic, class-validator)
|
|
137
|
+
- **სერიალიზაცია**: JSON / Protocol Buffers
|
|
138
|
+
|
|
139
|
+
### ავთენტიფიკაცია და უსაფრთხოება
|
|
140
|
+
- **Auth მეთოდი**: {{AUTH_METHOD}} (JWT, OAuth 2.0, API Keys, SAML)
|
|
141
|
+
- **ავტორიზაცია**: {{AUTHORIZATION}} (RBAC, ABAC, Policy-based)
|
|
142
|
+
- **დაშიფვრა**: bcrypt პაროლებისთვის, TLS/SSL ტრანსპორტისთვის
|
|
143
|
+
- **Rate Limiting**: Redis-ზე დაფუძნებული rate limiting
|
|
144
|
+
- **CORS**: კონფიგურირებადი CORS middleware
|
|
145
|
+
|
|
146
|
+
### მონაცემთა ბაზა
|
|
147
|
+
- **ძირითადი**: {{DATABASE}} (PostgreSQL, MySQL, MongoDB, Cassandra)
|
|
148
|
+
- **ORM/ODM**: {{ORM}} (Prisma, TypeORM, Sequelize, Mongoose, SQLAlchemy)
|
|
149
|
+
- **Migration-ები**: {{MIGRATION_TOOL}}
|
|
150
|
+
- **Cache**: Redis / Memcached
|
|
151
|
+
- **ძებნა**: {{SEARCH_ENGINE}} (Elasticsearch, MeiliSearch - საჭიროების შემთხვევაში)
|
|
152
|
+
|
|
153
|
+
### ფონური დავალებები და რიგები
|
|
154
|
+
- **რიგი**: {{QUEUE}} (Bull, BullMQ, Celery, RabbitMQ, AWS SQS)
|
|
155
|
+
- **Scheduler**: {{SCHEDULER}} (node-cron, APScheduler, Quartz)
|
|
156
|
+
- **Worker-ები**: ფონური worker პროცესები
|
|
157
|
+
|
|
158
|
+
### DevOps და ინფრასტრუქტურა
|
|
159
|
+
- **ჰოსტინგი**: {{HOSTING}} (AWS, GCP, Azure, DigitalOcean, Railway)
|
|
160
|
+
- **კონტეინერიზაცია**: Docker + Docker Compose
|
|
161
|
+
- **Orchestration**: {{ORCHESTRATION}} (Kubernetes, Docker Swarm - საჭიროების შემთხვევაში)
|
|
162
|
+
- **CI/CD**: GitHub Actions / GitLab CI / Jenkins
|
|
163
|
+
- **მონიტორინგი**: {{MONITORING}} (Datadog, New Relic, Prometheus + Grafana)
|
|
164
|
+
- **ლოგირება**: {{LOGGING}} (Winston, Pino, ELK Stack, CloudWatch)
|
|
165
|
+
- **Error Tracking**: Sentry / Rollbar
|
|
166
|
+
|
|
167
|
+
### შემუშავების ხელსაწყოები
|
|
168
|
+
- **Version Control**: Git + GitHub/GitLab
|
|
169
|
+
- **Package Manager**: {{PACKAGE_MANAGER}} (npm, yarn, pnpm, pip, maven)
|
|
170
|
+
- **კოდის ხარისხი**: {{LINTER}} (ESLint, Pylint, Checkstyle) + Prettier
|
|
171
|
+
- **API Testing**: Postman / Insomnia / curl
|
|
172
|
+
- **მონაცემთა ბაზის კლიენტი**: {{DB_CLIENT}} (pgAdmin, MongoDB Compass, DataGrip)
|
|
173
|
+
- **Load Testing**: {{LOAD_TEST}} (k6, Apache JMeter, Locust)
|
|
174
|
+
|
|
175
|
+
### ტესტირება
|
|
176
|
+
- **Unit Tests**: {{UNIT_TEST}} (Jest, Vitest, pytest, JUnit)
|
|
177
|
+
- **Integration Tests**: {{INTEGRATION_TEST}} (Supertest, TestContainers)
|
|
178
|
+
- **API Tests**: Postman Collections / Newman
|
|
179
|
+
- **Load Tests**: k6 / Artillery
|
|
180
|
+
- **Coverage**: {{COVERAGE_TOOL}} (Istanbul, Coverage.py)
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## პროექტის სტრუქტურა
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
{{PROJECT_NAME}}/
|
|
188
|
+
├── src/
|
|
189
|
+
│ ├── controllers/ # Request handlers
|
|
190
|
+
│ │ ├── auth.controller.ts
|
|
191
|
+
│ │ ├── user.controller.ts
|
|
192
|
+
│ │ └── ...
|
|
193
|
+
│ │
|
|
194
|
+
│ ├── services/ # ბიზნეს ლოგიკა
|
|
195
|
+
│ │ ├── auth.service.ts
|
|
196
|
+
│ │ ├── user.service.ts
|
|
197
|
+
│ │ └── ...
|
|
198
|
+
│ │
|
|
199
|
+
│ ├── models/ # მონაცემთა მოდელები
|
|
200
|
+
│ │ ├── user.model.ts
|
|
201
|
+
│ │ └── ...
|
|
202
|
+
│ │
|
|
203
|
+
│ ├── routes/ # API route განსაზღვრებები
|
|
204
|
+
│ │ ├── index.ts
|
|
205
|
+
│ │ ├── auth.routes.ts
|
|
206
|
+
│ │ └── ...
|
|
207
|
+
│ │
|
|
208
|
+
│ ├── middleware/ # Custom middleware
|
|
209
|
+
│ │ ├── auth.middleware.ts
|
|
210
|
+
│ │ ├── error.middleware.ts
|
|
211
|
+
│ │ ├── validation.middleware.ts
|
|
212
|
+
│ │ └── ...
|
|
213
|
+
│ │
|
|
214
|
+
│ ├── utils/ # დამხმარე ფუნქციები
|
|
215
|
+
│ │ ├── logger.ts
|
|
216
|
+
│ │ ├── validator.ts
|
|
217
|
+
│ │ └── ...
|
|
218
|
+
│ │
|
|
219
|
+
│ ├── config/ # კონფიგურაცია
|
|
220
|
+
│ │ ├── database.ts
|
|
221
|
+
│ │ ├── redis.ts
|
|
222
|
+
│ │ └── ...
|
|
223
|
+
│ │
|
|
224
|
+
│ ├── jobs/ # ფონური დავალებები
|
|
225
|
+
│ │ └── email.job.ts
|
|
226
|
+
│ │
|
|
227
|
+
│ ├── types/ # TypeScript ტიპები
|
|
228
|
+
│ │ └── index.ts
|
|
229
|
+
│ │
|
|
230
|
+
│ └── index.ts # შესასვლელი წერტილი
|
|
231
|
+
│
|
|
232
|
+
├── tests/ # ტესტის ფაილები
|
|
233
|
+
│ ├── unit/
|
|
234
|
+
│ ├── integration/
|
|
235
|
+
│ └── e2e/
|
|
236
|
+
│
|
|
237
|
+
├── migrations/ # მონაცემთა ბაზის migration-ები
|
|
238
|
+
│ └── ...
|
|
239
|
+
│
|
|
240
|
+
├── scripts/ # დამხმარე სკრიპტები
|
|
241
|
+
│ ├── seed.ts
|
|
242
|
+
│ └── migrate.ts
|
|
243
|
+
│
|
|
244
|
+
├── docs/ # API დოკუმენტაცია
|
|
245
|
+
│ └── api.md
|
|
246
|
+
│
|
|
247
|
+
├── .env.example # გარემოს ცვლადების template
|
|
248
|
+
├── .gitignore
|
|
249
|
+
├── docker-compose.yml # ლოკალური გარემოს დაყენება
|
|
250
|
+
├── Dockerfile
|
|
251
|
+
├── package.json
|
|
252
|
+
├── tsconfig.json
|
|
253
|
+
└── README.md
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## ამოცანები და იმპლემენტაციის გეგმა
|
|
259
|
+
|
|
260
|
+
### ეტაპი 1: საფუძველი (შეფასება: {{PHASE1_ESTIMATE}})
|
|
261
|
+
|
|
262
|
+
#### T1.1: პროექტის დაყენება
|
|
263
|
+
- [ ] **სტატუსი**: TODO
|
|
264
|
+
- **სირთულე**: დაბალი
|
|
265
|
+
- **შეფასებული**: 1.5 საათი
|
|
266
|
+
- **დამოკიდებულებები**: არა
|
|
267
|
+
- **აღწერა**:
|
|
268
|
+
- {{BACKEND_FRAMEWORK}} პროექტის ინიციალიზება
|
|
269
|
+
- TypeScript/ენის პარამეტრების კონფიგურაცია
|
|
270
|
+
- ESLint + Prettier-ის დაყენება
|
|
271
|
+
- .env.example-ის შექმნა
|
|
272
|
+
- პროექტის სტრუქტურის დაყენება
|
|
273
|
+
- Git რეპოზიტორიის ინიციალიზება
|
|
274
|
+
- ძირითადი README-ის შექმნა
|
|
275
|
+
|
|
276
|
+
#### T1.2: მონაცემთა ბაზის კონფიგურაცია
|
|
277
|
+
- [ ] **სტატუსი**: TODO
|
|
278
|
+
- **სირთულე**: საშუალო
|
|
279
|
+
- **შეფასებული**: 3 საათი
|
|
280
|
+
- **დამოკიდებულებები**: T1.1
|
|
281
|
+
- **აღწერა**:
|
|
282
|
+
- {{DATABASE}} კავშირის დაყენება
|
|
283
|
+
- {{ORM}}-ის კონფიგურაცია
|
|
284
|
+
- საწყისი სქემის შექმნა
|
|
285
|
+
- Migration სისტემის დაყენება
|
|
286
|
+
- Seed data სკრიპტების შექმნა
|
|
287
|
+
- მონაცემთა ბაზის health check endpoint-ის დამატება
|
|
288
|
+
|
|
289
|
+
#### T1.3: ძირითადი Middleware
|
|
290
|
+
- [ ] **სტატუსი**: TODO
|
|
291
|
+
- **სირთულე**: საშუალო
|
|
292
|
+
- **შეფასებული**: 3 საათი
|
|
293
|
+
- **დამოკიდებულებები**: T1.1
|
|
294
|
+
- **აღწერა**:
|
|
295
|
+
- მოთხოვნის ლოგირების middleware
|
|
296
|
+
- შეცდომების დამუშავების middleware
|
|
297
|
+
- CORS კონფიგურაცია
|
|
298
|
+
- Request validation middleware
|
|
299
|
+
- Rate limiting middleware
|
|
300
|
+
- Helmet.js უსაფრთხოების headers
|
|
301
|
+
|
|
302
|
+
#### T1.4: ავთენტიფიკაციის სისტემა
|
|
303
|
+
- [ ] **სტატუსი**: TODO
|
|
304
|
+
- **სირთულე**: მაღალი
|
|
305
|
+
- **შეფასებული**: 6 საათი
|
|
306
|
+
- **დამოკიდებულებები**: T1.2
|
|
307
|
+
- **აღწერა**:
|
|
308
|
+
- {{AUTH_METHOD}} ავთენტიფიკაციის იმპლემენტაცია
|
|
309
|
+
- User მოდელის შექმნა
|
|
310
|
+
- პაროლის ჰეშირება (bcrypt)
|
|
311
|
+
- Login/Register endpoint-ები
|
|
312
|
+
- Token-ის გენერაცია/ვალიდაცია
|
|
313
|
+
- Auth middleware
|
|
314
|
+
- Refresh token მექანიზმი
|
|
315
|
+
- პაროლის აღდგენის flow
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
### ეტაპი 2: ძირითადი API (შეფასება: {{PHASE2_ESTIMATE}})
|
|
320
|
+
|
|
321
|
+
{{CORE_API_TASKS}}
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
### ეტაპი 3: გაფართოებული ფუნქციები (შეფასება: {{PHASE3_ESTIMATE}})
|
|
326
|
+
|
|
327
|
+
#### T3.1: Caching შრე
|
|
328
|
+
- [ ] **სტატუსი**: TODO
|
|
329
|
+
- **სირთულე**: საშუალო
|
|
330
|
+
- **შეფასებული**: 4 საათი
|
|
331
|
+
- **აღწერა**:
|
|
332
|
+
- Redis კავშირის დაყენება
|
|
333
|
+
- Caching middleware-ის იმპლემენტაცია
|
|
334
|
+
- ხშირად გამოყენებული მონაცემების cache-ში შენახვა
|
|
335
|
+
- Cache invalidation სტრატეგია
|
|
336
|
+
- Cache warming სკრიპტების დამატება
|
|
337
|
+
|
|
338
|
+
#### T3.2: ფონური დავალებები
|
|
339
|
+
- [ ] **სტატუსი**: TODO
|
|
340
|
+
- **სირთულე**: მაღალი
|
|
341
|
+
- **შეფასებული**: 6 საათი
|
|
342
|
+
- **აღწერა**:
|
|
343
|
+
- Job queue-ის დაყენება ({{QUEUE}})
|
|
344
|
+
- Worker პროცესების შექმნა
|
|
345
|
+
- Email job-ების იმპლემენტაცია
|
|
346
|
+
- მონაცემების დამუშავების job-ები
|
|
347
|
+
- Job მონიტორინგის/retry ლოგიკის დამატება
|
|
348
|
+
- Job scheduling სისტემის შექმნა
|
|
349
|
+
|
|
350
|
+
#### T3.3: ძებნის ფუნქციონალობა
|
|
351
|
+
- [ ] **სტატუსი**: TODO
|
|
352
|
+
- **სირთულე**: მაღალი
|
|
353
|
+
- **შეფასებული**: 6 საათი
|
|
354
|
+
- **აღწერა**:
|
|
355
|
+
- {{SEARCH_ENGINE}}-ის დაყენება
|
|
356
|
+
- მნიშვნელოვანი მონაცემების ინდექსაცია
|
|
357
|
+
- ძებნის endpoint-ების იმპლემენტაცია
|
|
358
|
+
- ფილტრაციისა და pagination-ის დამატება
|
|
359
|
+
- ძებნის შესრულების ოპტიმიზაცია
|
|
360
|
+
|
|
361
|
+
#### T3.4: ფაილის ატვირთვა/შენახვა
|
|
362
|
+
- [ ] **სტატუსი**: TODO
|
|
363
|
+
- **სირთულე**: საშუალო
|
|
364
|
+
- **შეფასებული**: 4 საათი
|
|
365
|
+
- **აღწერა**:
|
|
366
|
+
- ფაილების საცავის დაყენება ({{STORAGE}})
|
|
367
|
+
- Upload endpoint-ის იმპლემენტაცია
|
|
368
|
+
- ფაილის ვალიდაციის დამატება
|
|
369
|
+
- სურათის დამუშავება (ზომის შეცვლა, ოპტიმიზაცია)
|
|
370
|
+
- Signed URL-ების გენერაცია
|
|
371
|
+
- ფაილის წაშლის endpoint-ის დამატება
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
### ეტაპი 4: ტესტირება, მონიტორინგი და დეპლოიმენტი (შეფასება: {{PHASE4_ESTIMATE}})
|
|
376
|
+
|
|
377
|
+
#### T4.1: ტესტირების პაკეტი
|
|
378
|
+
- [ ] **სტატუსი**: TODO
|
|
379
|
+
- **სირთულე**: მაღალი
|
|
380
|
+
- **შეფასებული**: 8 საათი
|
|
381
|
+
- **აღწერა**:
|
|
382
|
+
- Unit ტესტების დაწერა სერვისებისთვის
|
|
383
|
+
- Integration ტესტების დაწერა API endpoint-ებისთვის
|
|
384
|
+
- Test fixture-ებისა და factory-ების დამატება
|
|
385
|
+
- ტესტის მონაცემთა ბაზის დაყენება
|
|
386
|
+
- Coverage reporting-ის დამატება
|
|
387
|
+
- CI ტესტის pipeline-ის შექმნა
|
|
388
|
+
|
|
389
|
+
#### T4.2: მონიტორინგი და ლოგირება
|
|
390
|
+
- [ ] **სტატუსი**: TODO
|
|
391
|
+
- **სირთულე**: საშუალო
|
|
392
|
+
- **შეფასებული**: 4 საათი
|
|
393
|
+
- **დამოკიდებულებები**: T4.1
|
|
394
|
+
- **აღწერა**:
|
|
395
|
+
- სტრუქტურირებული ლოგირების დაყენება
|
|
396
|
+
- Request/response ლოგირების დამატება
|
|
397
|
+
- Error tracking-ის იმპლემენტაცია (Sentry)
|
|
398
|
+
- შესრულების მონიტორინგის დამატება
|
|
399
|
+
- Health check endpoint-ების შექმნა
|
|
400
|
+
- Alerting წესების დაყენება
|
|
401
|
+
|
|
402
|
+
#### T4.3: API დოკუმენტაცია
|
|
403
|
+
- [ ] **სტატუსი**: TODO
|
|
404
|
+
- **სირთულე**: დაბალი
|
|
405
|
+
- **შეფასებული**: 2 საათი
|
|
406
|
+
- **აღწერა**:
|
|
407
|
+
- OpenAPI/Swagger დოკუმენტაციის გენერაცია
|
|
408
|
+
- Endpoint აღწერილობების დამატება
|
|
409
|
+
- Request/response მაგალითების ჩართვა
|
|
410
|
+
- ავთენტიფიკაციის დოკუმენტაციის დამატება
|
|
411
|
+
- Postman collection-ის შექმნა
|
|
412
|
+
|
|
413
|
+
#### T4.4: დეპლოიმენტი
|
|
414
|
+
- [ ] **სტატუსი**: TODO
|
|
415
|
+
- **სირთულე**: მაღალი
|
|
416
|
+
- **შეფასებული**: 6 საათი
|
|
417
|
+
- **დამოკიდებულებები**: T4.1, T4.2, T4.3
|
|
418
|
+
- **აღწერა**:
|
|
419
|
+
- Dockerfile-ის შექმნა
|
|
420
|
+
- Production-ისთვის Docker Compose-ის დაყენება
|
|
421
|
+
- CI/CD pipeline-ის კონფიგურაცია
|
|
422
|
+
- გარემოს ცვლადების კონფიგურაცია
|
|
423
|
+
- SSL/TLS-ის კონფიგურაცია
|
|
424
|
+
- {{HOSTING}}-ზე დეპლოიმენტი
|
|
425
|
+
- მონაცემთა ბაზის backup-ების დაყენება
|
|
426
|
+
- Auto-scaling-ის კონფიგურაცია (საჭიროების შემთხვევაში)
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## პროგრესის თვალყურის დევნება
|
|
431
|
+
|
|
432
|
+
### საერთო სტატუსი
|
|
433
|
+
**სულ ამოცანები**: {{TOTAL_TASKS}}
|
|
434
|
+
**დასრულებული**: {{COMPLETED_TASKS}} {{PROGRESS_BAR}} ({{PROGRESS_PERCENT}}%)
|
|
435
|
+
**მიმდინარე**: {{IN_PROGRESS_TASKS}}
|
|
436
|
+
**დაბლოკილი**: {{BLOCKED_TASKS}}
|
|
437
|
+
|
|
438
|
+
### ეტაპების პროგრესი
|
|
439
|
+
- ეტაპი 1: საფუძველი → {{PHASE1_PROGRESS}}%
|
|
440
|
+
- ეტაპი 2: ძირითადი API → {{PHASE2_PROGRESS}}%
|
|
441
|
+
- ეტაპი 3: გაფართოებული ფუნქციები → {{PHASE3_PROGRESS}}%
|
|
442
|
+
- ეტაპი 4: ტესტირება და დეპლოიმენტი → {{PHASE4_PROGRESS}}%
|
|
443
|
+
|
|
444
|
+
### მიმდინარე ფოკუსი
|
|
445
|
+
{{CURRENT_FOCUS}}
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
|
|
449
|
+
## API Endpoint-ები
|
|
450
|
+
|
|
451
|
+
### ავთენტიფიკაცია
|
|
452
|
+
```
|
|
453
|
+
POST /api/auth/register - ახალი მომხმარებლის რეგისტრაცია
|
|
454
|
+
POST /api/auth/login - მომხმარებლის შესვლა
|
|
455
|
+
POST /api/auth/logout - მომხმარებლის გასვლა
|
|
456
|
+
POST /api/auth/refresh - Access token-ის განახლება
|
|
457
|
+
POST /api/auth/forgot-password - პაროლის აღდგენის მოთხოვნა
|
|
458
|
+
POST /api/auth/reset-password - პაროლის აღდგენა
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
### {{MAIN_RESOURCE}}
|
|
462
|
+
```
|
|
463
|
+
{{API_ENDPOINTS}}
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## წარმატების კრიტერიუმები
|
|
469
|
+
|
|
470
|
+
### Minimum Viable Product (MVP)
|
|
471
|
+
- ავთენტიფიკაცია და ავტორიზაცია მუშაობს
|
|
472
|
+
- ძირითადი CRUD ოპერაციები ფუნქციონირებს
|
|
473
|
+
- ყველა endpoint-ზე input ვალიდაცია
|
|
474
|
+
- Error handling იმპლემენტირებული
|
|
475
|
+
- API დოკუმენტაცია სრული
|
|
476
|
+
- ძირითადი caching იმპლემენტირებული
|
|
477
|
+
- Production-ში დეპლოიმენტი
|
|
478
|
+
|
|
479
|
+
### სასურველი (v1.1+)
|
|
480
|
+
{{NICE_TO_HAVE}}
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## ტექნიკური გადაწყვეტილებები და შენიშვნები
|
|
485
|
+
|
|
486
|
+
### რატომ {{BACKEND_FRAMEWORK}}?
|
|
487
|
+
{{BACKEND_REASONING}}
|
|
488
|
+
|
|
489
|
+
### რატომ {{DATABASE}}?
|
|
490
|
+
{{DATABASE_REASONING}}
|
|
491
|
+
|
|
492
|
+
### API დიზაინის პრინციპები
|
|
493
|
+
{{API_PRINCIPLES}}
|
|
494
|
+
|
|
495
|
+
### შეცდომების დამუშავების სტრატეგია
|
|
496
|
+
{{ERROR_HANDLING}}
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
## რესურსები და მითითებები
|
|
501
|
+
|
|
502
|
+
### დოკუმენტაცია
|
|
503
|
+
- [{{BACKEND_FRAMEWORK}} დოკუმენტაცია]({{BACKEND_DOCS_URL}})
|
|
504
|
+
- [{{DATABASE}} დოკუმენტაცია]({{DATABASE_DOCS_URL}})
|
|
505
|
+
- [{{ORM}} დოკუმენტაცია]({{ORM_DOCS_URL}})
|
|
506
|
+
|
|
507
|
+
### ხელსაწყოები და ბიბლიოთეკები
|
|
508
|
+
{{TOOLS_LIBRARIES}}
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## შესრულების მაჩვენებლები
|
|
513
|
+
|
|
514
|
+
### სამიზნე მეტრიკები
|
|
515
|
+
- **პასუხის დრო**: < 200ms 95-ე პერცენტილისთვის
|
|
516
|
+
- **Throughput**: {{TARGET_RPS}} მოთხოვნა/წამში
|
|
517
|
+
- **ხელმისაწვდომობა**: 99.9% uptime
|
|
518
|
+
- **შეცდომების კოეფიციენტი**: < 0.1%
|
|
519
|
+
|
|
520
|
+
### Load Testing-ის შედეგები
|
|
521
|
+
{{LOAD_TEST_RESULTS}}
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
## უსაფრთხოების მოსაზრებები
|
|
526
|
+
|
|
527
|
+
### უსაფრთხოების ზომები
|
|
528
|
+
- მხოლოდ HTTPS production-ში
|
|
529
|
+
- JWT token-ის ვადა (15 წთ access, 7 დღე refresh)
|
|
530
|
+
- Rate limiting (100 req/15წთ IP-ზე)
|
|
531
|
+
- ყველა endpoint-ზე input ვალიდაცია
|
|
532
|
+
- SQL injection-ის პრევენცია (parameterized queries)
|
|
533
|
+
- XSS პრევენცია
|
|
534
|
+
- CSRF დაცვა
|
|
535
|
+
- Helmet.js უსაფრთხოების headers
|
|
536
|
+
|
|
537
|
+
### უსაფრთხოების აუდიტის ჩეკლისტი
|
|
538
|
+
{{SECURITY_CHECKLIST}}
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
542
|
+
## რისკების მართვა
|
|
543
|
+
|
|
544
|
+
### პოტენციური რისკები
|
|
545
|
+
1. **მონაცემთა ბაზის შესრულება**: ნელი query-ები დიდი მონაცემებით
|
|
546
|
+
- **შემსუბუქება**: სწორი indexing, query ოპტიმიზაცია, caching
|
|
547
|
+
2. **API Downtime**: სერვისის ხელმიუწვდომლობა
|
|
548
|
+
- **შემსუბუქება**: Load balancing, auto-scaling, health checks
|
|
549
|
+
3. **მონაცემების დაკარგვა**: მონაცემთა ბაზის გაუმართაობები
|
|
550
|
+
- **შემსუბუქება**: რეგულარული backup-ები, replication, point-in-time recovery
|
|
551
|
+
|
|
552
|
+
{{ADDITIONAL_RISKS}}
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## მომავალი გაუმჯობესებები
|
|
557
|
+
|
|
558
|
+
{{FUTURE_ENHANCEMENTS}}
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
*შექმნილია plan-plugin v{{PLUGIN_VERSION}}-ით*
|