Self-hosted web application for managing 3D printing queues with automated PDF invoice processing.
- 📄 PDF invoice upload and automated product extraction
- 🤖 AI-powered extraction using Ollama vision LLM
- 📋 Drag-and-drop queue management
- ✏️ Edit and delete queue items
- 🗄️ PostgreSQL database storage
- 🎨 Clean, responsive UI with Tailwind CSS
- Frontend: React + Vite + TypeScript + Tailwind CSS
- Backend: Node.js + Express + TypeScript
- Database: PostgreSQL
- AI: Ollama (llava or llama3.2-vision)
- Deployment: Docker + Docker Compose
wizqueue/
├── packages/
│ ├── backend/ # Express API server
│ ├── frontend/ # React application
│ └── shared/ # Shared TypeScript types
└── infrastructure/ # Docker and deployment configs
- Node.js >= 20.19.0 or >= 22.0.0
- PostgreSQL >= 14
- Ollama with vision model
- Clone the repository:
git clone <repository-url>
cd wizqueue- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration- Set up database:
npm run migrate- Start Ollama and pull vision model:
ollama serve
ollama pull minicpm-v:8b # Recommended for invoice processing
# Or use: ollama pull llava- Start development servers:
npm run devThe frontend will be available at http://localhost:5173 and the backend at http://localhost:3000.
npm run dev- Start both frontend and backend in development modenpm run build- Build both packages for productionnpm run migrate- Run database migrations
See infrastructure/README.md for deployment instructions.
MIT