Konnaxion – Technical Architecture & Services
This page collects the technical details of Konnaxion: service code‑names, core models, configuration parameters, routing invariants, and cross‑module infrastructure. It complements:
- the repository README, which focuses on vision, mythology, and high‑level modules
- the wiki hub page, which explains civic workflows and navigation
- the individual module pages (Knowledge, CertifiKation, Korum, etc.), which describe each sub‑module functionally
Use this page as the reference for development and integration work.
1. Platform overview
1.1 KOA module map
Konnaxion’s architecture is organized into six top‑level modules:
- KonnectED – learning, knowledge, and certification
- Ethikos – structured debates and civic consultations
- Kreative – culture, preservation, and professional networks
- keenKonnect – project workspaces and storage
- Kollective Intelligence – reputation and voting (EkoH, Smart Vote)
- System / Core – cross‑cutting auth, storage, search, analytics
Each KOA module is implemented as one or more Django apps with:
- service code‑names (e.g.
multidimensional_scoring,public_consultation) mapping 1‑to‑1 to service modules - OLTP models described in the v14 schema reference
- frozen configuration parameters (thresholds, limits, routes)
1.2 Shared technology stack
Across modules, the technical stack is consistent:
- Backend: Django + Django REST Framework
- Realtime: Django Channels with Redis (
channels_redis.core.RedisChannelLayer) - Data store: PostgreSQL with tsvector full‑text search
- Background tasks: Celery (ETL, AI enrichment, packaging, recomputation)
- Object storage:
/app/media/root, typically backed by S3/MinIO - Front‑end: routes reserved per module (
/learn,/certs,/debate, etc.)
2. Cross‑module infrastructure
2.1 Service code‑name convention
Every sub‑module defines named services that are stable integration points. Examples:
- Korum:
structured_debate,ai_clone_management,comparative_argument_analysis,public_debate_archive,automated_debate_summary - Smart Vote:
dynamic_weighted_vote,voting_modalities,emerging_expert_detection,vote_transparency,vote_result_visualization,cross_module_vote_integration - EkoH:
multidimensional_scoring,configuration_weights,contextual_analysis,privacy_settings,score_history,score_visualization,expertise_field_classification - Knowledge:
library_resource_management,personalized_recommendation,content_co_creation,thematic_forum,learning_progress_tracking
Code‑names map 1‑to‑1 to service modules (e.g. services/dynamic_weighted_vote.py), and are referenced by tasks, API endpoints, and configuration.
2.2 Routing invariants
Top‑level routes are owned by specific modules and treated as invariants:
/learn,/course/[slug]→ KonnectED / Knowledge/certs→ KonnectED / CertifiKation/debate,/ethikos/insights→ Ethikos / Korum/consult→ Ethikos / Konsultations/projects,/projects/[slug]→ keenKonnect / Konstruct + Stockage/kreative,/art/[id],/archive→ Kreative / Konservation/connect,/profile/[user]→ Kreative / Kontact/konsensus,/reports/smart-vote→ Kollective Intelligence / Smart Vote
No other module should claim these top‑level paths.
2.3 Storage and media
- Media root:
MEDIA_ROOT=/app/media/is shared across modules. -
File size & types are fixed per context:
-
Stockage / Konstruct:
MAX_BLUEPRINT_UPLOAD_MB = 150, types[".pdf", ".png", ".jpg", ".glb", ".gltf", ".stl"] - Konservation:
ARTWORK_MAX_IMAGE_MB = 50,ARTWORK_RESOLUTIONS = [256, 1024, 2048]px
Storage is typically an object store (S3/MinIO) behind the media path.
2.4 Search
- Knowledge and Stockage explicitly use PostgreSQL full‑text search (
SEARCH_BACKEND = "postgres") for library resources and documents. - Tags (
Tag,ArtworkTag) provide a shared taxonomy layer across Kreative and keenKonnect.
2.5 Realtime and background jobs
-
Django Channels + Redis power:
-
live stance and result updates in Korum and Konsultations
- real‑time tallies in Smart Vote
- project chat, notifications, and document events in Konstruct and Stockage
-
collaboration rooms in Kontact
-
Celery tasks & schedules include:
-
etl_smart_voteevery 10 minutes, with ~5‑year retention for facts - periodic EkoH score recomputation and leaderboard refresh
- weekly offline packaging for Knowledge (
OFFLINE_PACKAGE_CRON = 0 3 * * SUN) - image rendition, AI enrichment, and partner ingest for Konservation
3. Module–by–module technical summary
3.1 KonnectED
3.1.1 Knowledge – Collaborative Learning Library
Services
library_resource_management– CRUD and classifyKnowledgeResource; enforce type enum.personalized_recommendation– computeKnowledgeRecommendationper user.content_co_creation– manageCoCreationProjectandCoCreationContributiondrafts.thematic_forum– forums viaForumTopicandForumPost.learning_progress_tracking– trackLearningProgress(per user + resource).
Core models
KnowledgeResource(id, title, type, url, author)KnowledgeRecommendation(user, resource, recommended_at)LearningProgress(user, resource, progress_percent)CoCreationProject,CoCreationContributionForumTopic,ForumPost
Key configuration
- Content types:
article | video | lesson | quiz | dataset MAX_CONTRIBUTION_DRAFTS = 10per user- Search backend:
SEARCH_BACKEND = "postgres" - Offline packaging:
OFFLINE_PACKAGE_CRON = 0 3 * * SUN
Routes
/learn– catalog, recommendations, offline download/course/[slug]– course player (lessons, progression)
3.1.2 CertifiKation – Skills & Certification
Services
certification_path_management– manageCertificationPath.automated_evaluation– createEvaluationwithraw_scoreand metadata.peer_validation– handlePeerValidationdecisions.skills_portfolio– connect toPortfolioand coreCertificaterecords.certification_interoperability– manageInteropMappingwith external LMS/registries.
Core models
CertificationPath(id, name, description)Evaluation(user, path, raw_score, metadata)PeerValidation(evaluation, peer, decision)Portfolio(user, title, description, items)InteropMapping(local_certification, external_system, external_id)Certificate(core model for issued credentials)
Key configuration
CERT_PASS_PERCENT = 80QUIZ_RETRY_COOLDOWN_MIN = 30minutes- Routes reserved:
/certs(Programs, My Certificates)
3.2 Ethikos
3.2.1 Korum – Structured Debates
Services
structured_debate,ai_clone_management,comparative_argument_analysis,public_debate_archive,automated_debate_summary.
Core models
EthikosCategory– thematic categoriesEthikosTopic– debate topic/questionEthikosStance(topic, user, value −3…+3)EthikosArgument(topic, author, content, parent, side)
Key configuration
- Stance scale: −3 … +3 (0 = neutral)
- Expert cohort quorum: 12 distinct experts (EkoH threshold)
- Moderation auto‑hide: 3 independent reports
Routes
/debate– Debate Hub (Open / Archived / Start New)/ethikos/insights– opinion analytics dashboards
3.2.2 Konsultations – Public Consultations & Feedback
Services
public_consultation,citizen_suggestion,weighted_consultation_vote,consultation_result_visualization,impact_tracking.
Core models
Consultation(id, title, open_date, close_date, status)CitizenSuggestion(consultation, author, content)ConsultationVote(user, consultation, raw_value, weighted_value)ConsultationResult(consultation, results_data JSONB)ImpactTrack(consultation, action, status, date)
Key configuration
- Ballot modalities:
approval | ranking | rating | preferential - Consensus threshold (platform‑wide): ≥ 75% weighted agreement
- Route namespace:
/consultowned exclusively by Ethikos
Routes
/consult– Consultation Hub (Live / Results / Suggest)/ethikos/insights– shared with Korum analytics
3.3 Kreative
3.3.1 Konservation – Creative Content & Cultural Preservation
Services
digital_archive_management,virtual_exhibition,archive_documentation,ai_enriched_catalogue,cultural_partner_integration.
Core models
KreativeArtwork(id, artist, title, description, media_file, media_type, year, medium, style)Tag,ArtworkTag(global tagging vocabulary and join table)Gallery,GalleryArtwork(order)TraditionEntry(title, description, region, media_file, approved, approved_by)
Key configuration
ARTWORK_MAX_IMAGE_MB = 50ARTWORK_RESOLUTIONS = [256, 1024, 2048]VIRTUAL_GALLERY_CAPACITY = 24artworks/roomNSFW_FLAG_REQUIRED(bool, defaultFalse)MEDIA_ROOT = /app/media/
Routes
/kreative– Creativity Hub/art/[id]– Artwork sheet/archive– Konservation archive/partners
3.3.2 Kontact – Collaboration & Networking
Services
professional_profile,intelligent_matching,collaboration_workspace,opportunity_announcement,partner_recommendation.
Core models
CollabSession(id, name, host, session_type, started_at, ended_at, final_artwork)- Re‑uses
KreativeArtwork,Tag,ArtworkTagfor portfolios and tagging.
Key configuration
COLLAB_CANVAS_MAX_USERS = 6MEDIA_ROOT = /app/media/(shared)- Routes reserved:
/connect,/profile/[user]
Routes
/connect– People, Opportunities, Collaboration Workspace/profile/[user]– public profile/portfolio
3.4 keenKonnect
3.4.1 Konstruct – Project Collaboration Spaces
Services
collaboration_space,project_task_management,real_time_document_editing,integrated_communication,ai_collaboration_analysis.
Core models
Project(id, title, description, creator, category, status)ProjectResource(project, title, url, added_by)ProjectTask(project, title, description, assignee, status, due_date)ProjectMessage(project, sender, content)ProjectTeam(project, user, role, joined_at)ProjectRating(project, user, rating, comment)Tag(shared)
Key configuration
MAX_BLUEPRINT_UPLOAD_MB = 150ALLOWED_BLUEPRINT_TYPES = [".pdf", ".png", ".jpg", ".glb", ".gltf", ".stl"]COLLAB_SPACE_MEMBER_CAP = 40AI_SUGGESTION_TOP_N = 8VIDEO_SESSION_PROVIDER = "livekit"viaKC_VIDEO_PROVIDERenv var
Routes
/projects– Project Studio (Browse, Create, My Projects)/projects/[slug]– workspace (Overview, Tasks, Blueprints, Chat, AI Insights, Settings)
3.4.2 Stockage – Secure Repository & Versioned Storage
Services
secure_document_storage,document_versioning,intelligent_indexing,real_time_sync,granular_permissions.
Core models
ProjectResource(same as above; canonical file record)ProjectandProjectTeamfor scoping and access controlTagfor classification
Key configuration
MAX_BLUEPRINT_UPLOAD_MB = 150- Allowed types:
[".pdf", ".png", ".jpg", ".glb", ".gltf", ".stl"] SEARCH_BACKEND = "postgres"- Realtime layer:
channels_redis.core.RedisChannelLayer MEDIA_ROOT = /app/media/
Routes
- Exposed inside
/projects/[slug]as the “Blueprints” tab.
3.5 Kollective Intelligence
3.5.1 EkoH – Reputation & Expertise
Services
multidimensional_scoring,configuration_weights,contextual_analysis,privacy_settings,score_history,score_visualization,expertise_field_classification.
Core models
ExpertiseCategory(id, name)UserExpertiseScore(user, category, raw_score, weighted_score)UserEthicsScore(user, ethical_score)ScoreConfiguration(weight_name, weight_value, field)ContextAnalysisLog(entity_type, entity_id, field, input_metadata, adjustments_applied)ConfidentialitySetting(user, level)ScoreHistory(merit_score, old_value, new_value, change_reason)
Key configuration
- Axis weights:
quality=1.000,expertise=1.500,frequency=0.750 - Ethical multiplier bounds: floor
0.20, cap1.50 EXPERTISE_DOMAIN_CHOICES: 26 ISO‑based domains
Runtime
- Periodic recomputation via Celery Beat; optional realtime pushes of score/leaderboard deltas over Channels+Redis.
3.5.2 Smart Vote – Weighted Voting System
Services
dynamic_weighted_vote,voting_modalities,emerging_expert_detection,vote_transparency,vote_result_visualization,cross_module_vote_integration.
Core models
Vote(user, target_type, target_id, raw_value, weighted_value)VoteModality(name, parameters JSON)EmergingExpert(user, detection_date, score_delta)VoteResult(target_type, target_id, sum_weighted_value, vote_count)IntegrationMapping(module_name, context_type, mapping_details)
Key configuration
- Modalities:
approval | ranking | rating | preferential - Emerging expert threshold: +15% EkoH delta over 30 days
- Strong consensus threshold: ≥ 75% weighted agreement
Runtime & analytics
- Realtime results through Channels+Redis
- ETL
etl_smart_voteevery 10 minutes →smart_vote_facttable, 5‑year retention - UI:
/konsensus(live polls/results),/reports/smart-vote(analytics)
4. Data flows and integration
4.1 Reputation‑weighted voting
- EkoH computes per‑user, per‑domain expertise and ethics scores with configurable weights and bounds.
- Smart Vote reads those scores to weight
Voterecords viadynamic_weighted_vote, adjusting tallies per modality. -
Korum and Konsultations integrate with Smart Vote to obtain EkoH‑weighted stances and ballots:
-
Korum aggregates
EthikosStanceusing EkoH to compute expert cohort views. - Konsultations uses
weighted_consultation_voteto store raw + weighted values per ballot.
4.2 Projects and documents
- Konstruct manages projects, tasks, chat, and ratings via
Project*models. - Stockage attaches documents and blueprints as
ProjectResourcerecords and handles versioning, indexing, and sync. - Real‑time events (file added/updated/removed; chat messages) are emitted via Channels+Redis to subscribed project workspaces.
4.3 Culture, archives, and networks
- Konservation’s
KreativeArtwork,Gallery, andTraditionEntrystore creative and heritage outputs with tag‑based discovery. - Kontact reuses those artefacts and tags for profiles and matching, and stores collaboration sessions in
CollabSession. - AI enrichment and partner ingest tasks update the archive and related metadata in the background.
4.4 Learning and certification
- Knowledge hosts resources, forums, and co‑creation spaces and tracks progression per user/resource.
- CertifiKation uses
CertificationPath,Evaluation, andPeerValidationto issueCertificaterecords and fill user portfolios. - Although not strictly specified, these activities can feed EkoH via
multidimensional_scoringas part of the platform‑wide reputation engine.
5. Analytics and insights
- Smart Vote ETL (
etl_smart_vote) is the central pipeline for decision analytics, aggregating delta changes from OLTP into a fact table with 5‑year retention, powering/reports/smart-vote. - Ethikos exposes
/ethikos/insightsto visualize debate stances and consultation outcomes, consuming Smart Vote facts and Korum/Konsultations data. - EkoH retains a full audit trail via
ScoreHistoryandContextAnalysisLog, enabling longitudinal analysis of reputation evolution.
6. Contribution guidelines and invariants (technical)
When extending or integrating with Konnaxion, the following invariants should be respected (all documented above):
- Do not change top‑level route ownership (
/learn,/certs,/debate,/consult,/projects,/kreative,/connect,/konsensus,/reports/smart-vote) without updating all dependent modules. - Preserve service code‑names (e.g.
dynamic_weighted_vote,multidimensional_scoring); treat them as public, versioned integration points. - Respect frozen parameter values when relying on thresholds, caps, or schedule timings, or introduce new configuration entries in a documented way.
- Reuse shared infrastructure (Channels+Redis, Celery,
/app/media/, PostgreSQL tsvector) to keep behavior consistent and predictable.
This page, together with the module‑specific wiki entries, should provide enough technical context to navigate, extend, and integrate the Konnaxion codebase.