Skills feature #22

Closed
opened 2026-06-12 20:28:18 +00:00 by james · 0 comments
Owner

Scope

  • Skill sections (e.g. "Languages", "Frameworks"), each containing skills.
  • UI renders sections as collapsible.
  • Sections and skills within a section are user-orderable.

Backend:

  • Entities for SkillSection and Skill (FK to section), each with an explicit ordering field. Both carry a user_id FK; denormalize the FK onto Skill for cheap isolation checks and per-user queries.
  • Full CRUD API + DTOs. All reads and writes are scoped to the authenticated user; cross-user access returns 404.
  • Tests on both DB engines, including ordering behavior and cross-user isolation.

Acceptance criteria

  • User can add a section, add skills under it, reorder both, and collapse/expand sections in the UI.
  • Ordering persists and is consistent across both DB engines.
  • User A cannot read, modify, or delete User B's sections or skills.

Part of epic #4. Depends on #8, #10, #20.

## Scope - Skill sections (e.g. "Languages", "Frameworks"), each containing skills. - UI renders sections as collapsible. - Sections and skills within a section are user-orderable. Backend: - Entities for `SkillSection` and `Skill` (FK to section), each with an explicit ordering field. **Both carry a `user_id` FK; denormalize the FK onto `Skill` for cheap isolation checks and per-user queries.** - Full CRUD API + DTOs. **All reads and writes are scoped to the authenticated user; cross-user access returns 404.** - Tests on both DB engines, including ordering behavior **and cross-user isolation**. ## Acceptance criteria - [ ] User can add a section, add skills under it, reorder both, and collapse/expand sections in the UI. - [ ] Ordering persists and is consistent across both DB engines. - [ ] User A cannot read, modify, or delete User B's sections or skills. Part of epic #4. Depends on #8, #10, #20.
james closed this issue 2026-06-19 12:41:04 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/carol#22
No description provided.