KnowWine AI is an actively developed full-stack CRUD application for wine discovery and personal wine management. Users can browse a live wine catalogue powered by the GrapeMinds API, Add wines to your personal collection and manage your list. Key features: - Wine catalogue from GrapeMinds external API with Redis caching (60-day TTL, Upstash) - Personal "My Wines" collection — add, view, and delete - JWT authentication with bcrypt password hashing - Input validation and rate limiting (API protection) - Material UI for styling Architecture: - React 19 (TypeScript) frontend built with Vite, served as static files from the Express backend in production - Express 5 (Node.js) REST API with controller/model/utils structure - PostgreSQL on Neon (production), Docker container (local/test) - Redis on Upstash (production only) — dev and test use a local wines.json fallback Testing: - Frontend unit tests: Vitest + React Testing Library - Backend integration tests: Node.js test runner + Supertest - E2E tests: Playwright (Chromium) CI/CD (GitHub Actions): - Lint → backend integration tests → frontend unit tests → npm audit → Playwright E2E → deploy to Render → auto version tag - Pull requests run all tests but never deploy - Commit message #skip flag to bypass deploy and tagging