2025-11-25 22:38:00 +00:00

154 lines
3.4 KiB
Markdown

# 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