Knowledge Base System Development
Knowledge base — structured storage of documentation, instructions, FAQs, and regulations. Can be external (for company clients) or internal (for employees). Key requirements: fast search, convenient navigation, easy editing, content relevance.
Content Architecture
Hierarchy: Space → Category → Article. Spaces allow isolating different knowledge bases in one system (e.g., client documentation + internal base).
Each article has:
- Slug (URL-friendly identifier)
- Title and body (rich text or Markdown)
- Tags for cross-navigation
- Version (change history)
- Status (draft / published / archived)
- Author and last editor
Content Editor
Editor choice depends on audience:
- Technical users: Markdown with live preview — simple, versioned in Git
- Non-technical authors: Block editor (TipTap, Plate.js, Notion-like) — drag & drop blocks
- Mixed audience: TipTap with Markdown shortcuts support
TipTap — headless editor on ProseMirror with React bindings. Supports custom extensions (code blocks with syntax highlight, callouts, expandable sections, tables).
Search
Full-text search is essential. For knowledge base with Cyrillic content:
Meilisearch — fast, typo-tolerant, supports hit highlighting:
const client = new MeiliSearch({ host: 'http://localhost:7700' });
const index = client.index('articles');
const results = await index.search('nginx setup', {
attributesToHighlight: ['title', 'body'],
highlightPreTag: '<mark>',
highlightPostTag: '</mark>',
limit: 10,
});
For Cyrillic need synonyms setup (example: 'setup' ↔ 'configuration', 'error' ↔ 'issue').
Article Feedback and Rating
Each article has "Helpful / Not helpful" buttons. Analytics on low-rated articles — signal for editors. "What to improve?" form (optional) — source of concrete feedback.
Versioning
Snapshot created on each save:
CREATE TABLE article_revisions (
id, article_id, version_number INT,
title, body TEXT,
author_id, created_at,
change_note VARCHAR(255)
);
Comparison interface with diff: additions green, removals red. Rollback to any version.
Access Rights
- Public base — all articles open without registration
- Mixed — some articles public, some auth-only
- Internal — only logged-in users, with space-based restrictions
Integrations
- Helpdesk — on ticket creation suggest KB articles, on close — link to solution
- Telegram bot / Slack — search KB directly from messenger
- Google Analytics / Plausible — views analytics, bounce rate, searches with no results
Timeline
MVP (article hierarchy, Markdown editor, search, public access): 4–6 weeks. Full system with TipTap editor, versioning, permissions, analytics, and Helpdesk integration: 2–3 months.







