# Knowledge Article System A simple desktop application for IT teams to document and search process knowledge, troubleshooting steps, and technical information. ## Quick Start ### For End Users See [USER_GUIDE.md](USER_GUIDE.md) for complete usage instructions. **TL;DR:** 1. Start backend: `cd server && node server.js` 2. Start frontend: `cd client/kb-frontend && npm run dev` 3. Open browser to `http://localhost:5173` ### For Developers See [TECHNICAL_DOCUMENTATION.md](TECHNICAL_DOCUMENTATION.md) for architecture, API docs, and maintenance info. ## Features ✅ **Create** knowledge articles with auto-generated KA numbers ✅ **Search** by title, content, or KA number ✅ **Edit** existing articles ✅ **Delete** articles with confirmation ✅ **Simple interface** - no authentication needed for local use ## System Requirements - Node.js (v16+) - Modern web browser - Ports 9000 and 5173 available ## Project Structure ``` knowledge_article_system/ ├── server/ # Backend (Node.js + Express + SQLite) │ ├── server.js # API server │ ├── db.js # Database functions │ └── package.json │ ├── client/ # Frontend (React + Vite) │ └── kb-frontend/ │ ├── src/ │ │ ├── App.jsx │ │ └── components/ │ └── package.json │ ├── USER_GUIDE.md # End user documentation └── TECHNICAL_DOCUMENTATION.md # Developer documentation ``` ## Tech Stack **Backend:** - Node.js + Express - SQLite (sql.js) - CORS enabled **Frontend:** - React 19 - Vite - Vanilla CSS ## Installation ```bash # Backend cd server npm install # Frontend cd client/kb-frontend npm install ``` ## Running ```bash # Terminal 1 - Backend cd server node server.js # Terminal 2 - Frontend cd client/kb-frontend npm run dev ``` Access at: `http://localhost:5173` ## API Endpoints | Method | Endpoint | Description | |--------|----------|-------------| | GET | `/api/articles` | Get all articles | | GET | `/api/articles/:ka_number` | Get specific article | | POST | `/api/articles` | Create new article | | PUT | `/api/articles/:ka_number` | Update article | | DELETE | `/api/articles/:ka_number` | Delete article | | GET | `/api/search?q=query` | Search articles | ## Database - **Type:** SQLite (file-based) - **Location:** `server/ka.db` - **Backup:** Copy `ka.db` file regularly ## MVP Status (Week 1) ✅ All core features complete: - [x] Backend API with full CRUD operations - [x] Frontend with search and article management - [x] Auto-generated KA numbers (KA001, KA002, etc.) - [x] Create, view, edit, delete workflows - [x] Search functionality - [x] Basic styling and responsive layout ## Future Enhancements Potential additions based on team feedback: - Entra OAuth - Freshdesk Integration - Improved Rich text editor - Fuzzy search - Script-based deployment - Docker container - Article categories/tags - File attachments (screenshots, logs) - Version history - Export to PDF - Article templates ## Contributing This is an internal tool. Enhancements will be added based on real usage and feedback. ## License MIT License ## Author Matt Taylor ## Support - Check [USER_GUIDE.md](USER_GUIDE.md) for usage help - Check [TECHNICAL_DOCUMENTATION.md](TECHNICAL_DOCUMENTATION.md) for technical details - Contact Matt for bugs or feature requests --- **Version:** 0.0.1 (MVP) **Status:** ✅ Production Ready for Internal Use