CinefexArchive is a personal cataloging web app for tracking a collection of Cinefex magazine issues — which ones you own, and which films each issue covers.
| Layer | Technology | Location | Role |
|---|---|---|---|
| Server | Node.js + Express | server.js |
Bootstraps app, mounts routers, serves static frontend |
| Database access | MariaDB (raw SQL, connection pool) | config/database.js |
Single shared pool used by services |
| Routes | Express Router | routes/*.js |
Thin HTTP handlers per resource (issues, search, export, migration, AI) |
| Services | Plain JS modules | services/*.js |
Business logic and SQL queries, decoupled from Express |
| Frontend | Vanilla JS + Tailwind CSS (CDN) | public/ |
Single-page, tab-based UI with no build step |
| AI (optional) | GitHub Models (GPT-4o) | services/aiService.js |
AI-assisted summary suggestions |
git clone <repo-url>npm install.env.example to .env and set DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, and optionally GITHUB_TOKENnpm start (or npm run dev for auto-reload)