You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**platform-ui**| 🟢 Vite | Vue application | ✅ Appropriate |
354
+
|**standalone-ui**| 🟢 Vite | Vue application | ✅ Appropriate |
355
+
356
+
#### Key Issues Identified:
357
+
-**Inconsistent library building**: `db` uses TSup (sophisticated) while `common` uses raw TSC (manual)
358
+
-**Manual dual builds**: Had to implement complex shell scripts for common package
359
+
-**Build tool diversity**: 5 different build approaches across 8 packages
360
+
-**TSup underutilized**: Only used in 1 package despite being ideal for library packages
361
+
362
+
#### Recommendation:
363
+
Future consolidation should standardize on TSup for library packages (common, db) while keeping TSC for Node.js services and Vite for frontend packages.
364
+
365
+
### Database Type Architecture Issues
366
+
367
+
#### Problem Discovered:
368
+
Database document interfaces (`SkuilderCourseData`, `CardData`, `DisplayableData`) are exported from the `common` package but logically belong to database layer.
369
+
370
+
#### Architectural Concerns:
371
+
```
372
+
common (exports database types) → db (imports from common)
373
+
```
374
+
375
+
This creates:
376
+
-**Misplaced abstractions**: Database schemas in common package
377
+
-**Circular dependency risk**: Database layer depending on "common" for its own types
378
+
-**Package responsibility confusion**: Common should contain business logic, not database schemas
379
+
380
+
#### Issues Encountered:
381
+
- Missing exports from common package index
382
+
- Naming conflicts between database types and bulk import types
383
+
- Had to add `db.js` export to common package during implementation
384
+
385
+
#### Proper Architecture Should Be:
386
+
```typescript
387
+
// packages/db/src/types/documents.ts
388
+
exportinterfaceSkuilderCourseData { ... }
389
+
exportinterfaceCardData { ... }
390
+
391
+
// packages/common/src/ (domain types only)
392
+
exportinterfaceCourseElo { ... }
393
+
exportinterfaceAnswer { ... }
394
+
```
395
+
396
+
#### Current Status:
397
+
**Continuing with existing structure** to maintain implementation focus, but flagged as **technical debt** for future architectural cleanup.
0 commit comments