4.1 KiB
4.1 KiB
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
articlestable- 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 articlesGET /api/articles/:id- Get one articlePOST /api/articles- Create articlePUT /api/articles/:id- Update articleDELETE /api/articles/:id- Delete articleGET /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)
- Categories/Tags - If team needs better organization
- Search improvements - Fuzzy search, search by KA number only
- Better styling - Make it look nicer once functionality is solid
- Recent articles list - Quick access to commonly used KAs
- Edit history - Track who changed what and when
- Attachments - Add screenshots or log files
- Templates - Pre-filled formats for common issue types
- Export to PDF - For printing or sharing outside the tool
- Backup/restore - Easy database backup
Iteration Strategy
- Get feedback from 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 is actually needed
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
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
);
Risk Management
Main Risks
- Scope creep in week 1 - focus only on core features
- Time sink on editor - Use React Quill, don't build custom
- Database issues - Keep schema simple, optimize later
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