Init
This commit is contained in:
37
README.md
Normal file
37
README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user