# Simple Mail Cleaner State-of-the-art mail cleanup tool with multi-tenant support, newsletter unsubscribe automation, and a modern web UI. ## Stack - Backend: Node.js + TypeScript + Fastify - Frontend: React + Vite + TypeScript + i18n - DB: PostgreSQL - Queue: Redis + BullMQ worker ## Quick start ```bash docker compose up --build ``` - Web UI: http://localhost:3000 - API: http://localhost:8000 - API Docs: http://localhost:8000/docs ## API (initial) - `POST /auth/register` `{ tenantName, email, password }` - `POST /auth/login` `{ email, password }` - `GET /tenants/me` (auth) - `GET /mail/accounts` (auth) - `POST /mail/accounts` (auth) - `POST /mail/cleanup` (auth) - `GET /jobs` (auth) - `GET /jobs/:id/events` (auth) ## Notes - Newsletter detection will use `List-Unsubscribe` headers + heuristics. - Weblink unsubscribe is queued and handled by a worker (placeholder). - Worker currently scans headers for newsletter candidates (no destructive actions yet). - DSGVO: data storage is designed for tenant isolation; encryption at rest will be added. ## Environment `docker-compose.yml` sets default dev credentials. Adjust before production use.