Skip to content

Konstruct

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.


1) Functional Services (and expected files)

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.


2) Backend Functionalities

  • 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.


3) Database Models (OLTP)

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.


4) Supporting Configuration (frozen)

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.


5) Routes & UI Surface

  • /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.


6) Runtime & real‑time

  • 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).


Summary

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.