Konstruct (Project Collaboration Spaces) — first sub‑module under keenKonnect.
Implements five core services with concrete code‑names, backed by project/task/chat models and fixed parameters.
| Display name | Code name / service | Purpose / behavior | Likely file or module | Status |
|---|---|---|---|---|
| Virtual Collaboration Spaces | collaboration_space | Create/join project rooms with membership, roles, and access rules. | keenkonnect/services/collaboration_space.py | Implemented (projects & teams) |
| Project Management Tools | project_task_management | Tasks, Kanban states, assignees, due dates, and activity logs. | keenkonnect/services/project_task_management.py | Implemented (tasks) |
| Real‑Time Editing | real_time_document_editing | Synchronous co‑editing of docs; conflict resolution (OT/CRDT pattern). | keenkonnect/services/real_time_document_editing.py | Planned (MVP uses resource versioning) |
| Integrated Chat & Video | integrated_communication | Per‑project chat via sockets; optional video sessions via provider. | keenkonnect/services/integrated_communication.py | Chat implemented; video wired by env |
| AI Collaborative Analysis | ai_collaboration_analysis | Live summaries, action suggestions, and collaborator recommendations. | keenkonnect/services/ai_collaboration_analysis.py | Implemented (summaries/reco service) |
Code‑names and scope are defined in the v14 service inventory.
Project lifecycle & membership. Create/update/archive projects; manage membership and roles; enforce access on project‑scoped endpoints.
Tasking. CRUD tasks with statuses (todo/in‑progress/done/blocked), assignment, due dates, ordering; emits project activity events.
Resources & blueprints. Attach documents and 3D assets; optional background conversion/previews for CAD/3D models (e.g., glTF) via worker jobs.
Collaboration channels. Real‑time project chat over WebSockets; optional video sessions bound by provider config; rate‑limits and moderation hooks applied.
Real‑time document editing (MVP). Until dedicated models land, uses resource versioning plus optimistic locking; planned upgrade to true real‑time persistence.
AI assistance. Generate meeting notes, decisions, and next‑actions from chat/tasks; recommend collaborators based on skills/Ekoh domains.
Actual models present in the codebase for Konstruct‑level collaboration; names/purposes below.
| Table / Model | Purpose | Key fields (abridged) |
|---|---|---|
Project | Project workspace container. | id, title, description, creator, category, status |
ProjectResource | Files/links attached to a project (incl. blueprints). | id, project, title, url, added_by |
ProjectTask | Tasks/milestones for the project. | id, project, title, description, assignee, status, due_date |
ProjectMessage | Project chat/message history. | id, project, sender, content |
ProjectTeam | Membership and roles. | id, project, user, role, joined_at |
ProjectRating | Community validation signal. | id, project, user, rating, comment |
Tag | Reusable keyword taxonomy. | id, name |
Not present (planned names suggested by docs): RealTimeDocument, DocumentRevision, VideoSession, AIInteractionLog. The schema note explicitly calls these out as missing today.
| Parameter | Location | Final value / notes |
|---|---|---|
MAX_BLUEPRINT_UPLOAD_MB | settings.STORAGE | 150 MB maximum per file |
ALLOWED_BLUEPRINT_TYPES | ProjectResource | [".pdf", ".png", ".jpg", ".glb", ".gltf", ".stl"] |
COLLAB_SPACE_MEMBER_CAP | CollaborationSpace | 40 members per space |
AI_SUGGESTION_TOP_N | settings.KEENKONNECT | 8 collaborator suggestions |
VIDEO_SESSION_PROVIDER | env KC_VIDEO_PROVIDER | "livekit" (self‑hosted) |
These parameters are locked in the Global Parameter Reference.
/projects → Project Studio (Browse, Create, My Projects).
/projects/[slug] → Single Workspace with tabs: Overview, Tasks, Blueprints, Chat, AI Insights, Settings.
Top‑level routing invariants assign these paths to the keenKonnect app.
WebSockets: Django Channels + Redis for chat/notifications; project‑scoped groups per workspace.
File storage: Object storage (S3/MinIO) for blueprints; optional preview/convert workers for 3D assets.
Video: Session bootstrap via the configured provider (KC_VIDEO_PROVIDER).
Konstruct exposes five services—collaboration_space, project_task_management, real_time_document_editing, integrated_communication, ai_collaboration_analysis—implemented over the Project, ProjectTask, ProjectMessage, ProjectTeam, ProjectResource, ProjectRating, and Tag models, with fixed size/type/member caps and dedicated routes under /projects. Real‑time editing is currently backed by resource versioning, with dedicated models planned.