Wikipedia interna de problemas técnicos conocidos para equipos de soporte informático.
FixBase permite registrar, buscar y consultar problemas técnicos recurrentes con su causa y solución paso a paso. Diseñado para equipos de soporte que quieren dejar de resolver el mismo problema dos veces.
| Capa | Tecnología |
|---|---|
| Backend | Node.js + Express |
| Base datos | SQLite (better-sqlite3, modo WAL) |
| Frontend | React 18 + Vite + Tailwind CSS |
- Node.js 18 o superior
- npm 9 o superior
# 1. Clonar o descomprimir el proyecto
cd fixbase
# 2. Instalar dependencias del servidor
npm install
# 3. Instalar dependencias del cliente
npm install --prefix client
# 4. Arrancar ambos servidores simultáneamente
npm startLa aplicación estará disponible en:
- Frontend: http://localhost:5173
- API REST: http://localhost:3001
La base de datos fixbase.db se crea automáticamente en la raíz del proyecto al primer arranque, con 6 problemas de ejemplo precargados.
Usa la barra de búsqueda superior. La búsqueda es en tiempo real y cubre título, síntomas, causa, solución y etiquetas.
Haz clic en cualquier sistema del sidebar izquierdo (Farmatic, Hardware, BDP, Hiopos, Red, Otro).
Haz clic en cualquier card de la lista para ver el detalle completo con los pasos de solución numerados.
Botón Nuevo (esquina superior derecha). Campos obligatorios: Título, Sistema, Síntomas y Solución. En el campo Solución escribe un paso por línea — se numerarán automáticamente al visualizarlos.
Disponible desde la vista detalle de cada problema.
Botón en la vista detalle. Incrementa el contador de consultas para saber qué problemas son más frecuentes.
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/problems |
Listar/buscar (?q=texto&sistema=X) |
| GET | /api/problems/stats |
Estadísticas globales |
| GET | /api/problems/:id |
Detalle (incrementa contador) |
| POST | /api/problems |
Crear nuevo problema |
| PUT | /api/problems/:id |
Actualizar problema |
| DELETE | /api/problems/:id |
Eliminar problema |
| POST | /api/problems/:id/consultar |
Incrementar contador manualmente |
| GET | /api/sistemas |
Listar sistemas con conteos |
| POST | /api/sistemas |
Añadir nuevo sistema |
La base de datos es un único archivo SQLite en la raíz del proyecto:
fixbase.db
cp fixbase.db fixbase_backup_$(date +%Y%m%d).db# Backup diario a las 3:00 AM
0 3 * * * cp /ruta/fixbase/fixbase.db /ruta/backups/fixbase_$(date +\%Y\%m\%d).db# PowerShell — ejecutar como administrador
$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-Command "Copy-Item C:\fixbase\fixbase.db C:\backups\fixbase_$(Get-Date -Format yyyyMMdd).db"'
$trigger = New-ScheduledTaskTrigger -Daily -At 3am
Register-ScheduledTask -TaskName "FixBase Backup" -Action $action -Trigger $triggerNota: SQLite en modo WAL (Write-Ahead Logging) garantiza consistencia durante la copia en caliente — no es necesario parar el servidor para hacer backup.
fixbase/
├── server/
│ ├── index.js # API Express
│ └── db.js # Inicialización SQLite + seed data
├── client/
│ ├── src/
│ │ ├── App.jsx # Componente raíz y estado global
│ │ ├── index.css # Tailwind base styles
│ │ └── components/
│ │ ├── Sidebar.jsx # Filtro por sistema
│ │ ├── SearchBar.jsx # Búsqueda con debounce
│ │ ├── ProblemList.jsx # Lista de resultados
│ │ ├── ProblemCard.jsx # Card individual
│ │ ├── ProblemDetail.jsx # Vista detalle
│ │ └── ProblemForm.jsx # Formulario crear/editar
│ ├── vite.config.js
│ ├── tailwind.config.js
│ └── package.json
├── fixbase.db # Base de datos (generada automáticamente)
├── package.json
└── README.md