2025-11-21 22:37:00 +00:00
2025-11-21 22:36:31 +00:00
2025-11-21 22:37:00 +00:00

Knowledge Article System - Project Roadmap

Project Overview

A minimal, local desktop knowledge management system for a small IT team (3 users) to document and search process knowledge.

Tech Stack:

  • Backend: Node.js + SQLite
  • Frontend: React + JavaScript
  • Key Features: Basic CRUD, simple search, rich text editing
  • Scope: Single developer, 1-week MVP, then iterate based on real usage

Week 1: MVP Sprint (Days 1-5)

Goal

Get a working, usable system in the hands of the team by end of week

Day 1-2: Backend Basics

  • Initialize Node.js project
  • Set up Express server
  • Create SQLite database with single articles table
    • id (primary key, auto-increment)
    • ka_number (unique, e.g., "KA001")
    • title (text)
    • content (text, will store HTML)
    • created_at (timestamp)
    • updated_at (timestamp)
  • Implement basic API endpoints:
    • GET /api/articles - Get all articles
    • GET /api/articles/:id - Get one article
    • POST /api/articles - Create article
    • PUT /api/articles/:id - Update article
    • DELETE /api/articles/:id - Delete article
    • GET /api/search?q=query - Basic text search
  • Test endpoints with Postman or Thunder Client

Day 3-4: Frontend Basics

  • Initialize React app (Vite for faster setup)
  • Create basic layout:
    • Search bar at top
    • Article list/results view
    • Article detail/edit view
  • Integrate a simple rich text editor (recommend: React Quill - easiest to set up)
  • Connect to backend API
  • Implement basic routing (list view ↔ detail view)

Day 5: Integration & Testing

  • Wire up search functionality
  • Test create/edit/delete workflows
  • Add basic styling (make it readable, doesn't need to be pretty)
  • Fix critical bugs
  • Write quick README with startup instructions
  • Get team to test it

MVP Feature Set (Absolute Minimum)

Create new KA with title and rich text content View list of all KAs Click to view/edit a specific KA Basic search (title + content) Delete KA (with confirmation) Auto-generate KA numbers

Explicitly OUT of Scope for Week 1

Categories/tags Version history Advanced search features File attachments Fancy UI/styling Keyboard shortcuts Statistics/analytics Export features


Week 2+: Post-MVP Iteration

Approach

Now that the team is using it, add features based on actual needs

Potential Additions (Priority Order)

  1. Categories/Tags - If team needs better organization
  2. Search improvements - Fuzzy search, search by KA number only
  3. Better styling - Make it look nicer once functionality is solid
  4. Recent articles list - Quick access to commonly used KAs
  5. Edit history - Track who changed what and when
  6. Attachments - Add screenshots or log files
  7. Templates - Pre-filled formats for common issue types
  8. Export to PDF - For printing or sharing outside the tool
  9. Backup/restore - Easy database backup

Iteration Strategy

  • Get feedback from the 3 users after first week
  • Pick ONE feature to add based on biggest pain point
  • Implement, test, repeat
  • Don't add features "just because" - only add what team actually needs

Quick Start Guide (Day 1 Setup)

Backend Setup

mkdir ka-system-backend
cd ka-system-backend
npm init -y
npm install express better-sqlite3 cors

Create minimal file structure:

  • server.js - Express server
  • db.js - Database setup and queries
  • database.db - SQLite database (created automatically)

Frontend Setup

npm create vite@latest ka-system-frontend -- --template react
cd ka-system-frontend
npm install
npm install axios react-quill

Running the System

  1. Terminal 1: node server.js (backend on port 3001)
  2. Terminal 2: npm run dev (frontend on port 5173)
  3. Open browser to localhost:5173

Success Criteria for Week 1

  • You can create a KA in under 30 seconds
  • You can search and find a KA in under 10 seconds
  • You can edit an existing KA
  • All 3 team members can run it on their machines
  • No critical bugs that prevent basic use

If these work, you have a successful MVP. Everything else is polish.


Database Schema (Minimal)

CREATE TABLE articles (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  ka_number TEXT UNIQUE NOT NULL,
  title TEXT NOT NULL,
  content TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Add indexes after MVP if search is slow:

CREATE INDEX idx_title ON articles(title);
CREATE INDEX idx_content ON articles(content);

Risk Management

Main Risks

  1. Scope creep in week 1 - Stay disciplined, MVP only
  2. Time sink on editor - Use React Quill, don't build custom
  3. Database issues - Keep schema simple, optimize later
  4. Team won't use it - Get feedback early and often

Mitigation

  • Set a timer for each task, move on if taking too long
  • Use libraries, don't reinvent the wheel
  • Manual testing only for week 1
  • Share progress daily with team

Notes

  • Be ruthless about scope - If it's not essential for day 1 usage, skip it
  • Working > Pretty - Ugly but functional beats beautiful but broken
  • Real usage beats planning - Get it in their hands ASAP
  • You can always add more - But you can't get time back
  • Database backups - Copy database.db file regularly (simple for now)
Description
A minimal, local desktop knowledge management system for a small IT team to document and search process knowledge.
Readme MIT-Modern-Variant
Languages
JavaScript 81.2%
CSS 18%
HTML 0.8%