154 lines
3.4 KiB
Markdown
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
|