# 📧 Email Microservice A modern email microservice built with Hono and TypeScript, supporting multiple languages and HTML/Text email templates. ## ✨ Features - 🌐 Multi-language support (English & German) - 📝 HTML and Text email templates - 📚 OpenAPI/Swagger documentation - ⚡ High-performance with Bun runtime - 🔄 Queue-based email processing - 🎨 Handlebars templating ## 🚀 Quick Start ```bash # Install dependencies bun install # Start development server bun dev ``` ## 📖 API Documentation Swagger UI is available at: `/swagger` ## 🔍 Example API Calls ### Send Welcome Email ```bash curl -X POST http://localhost:3000/api/v1/email \ -H "Content-Type: application/json" \ -d '{ "to": "user@example.com", "templateName": "welcome", "language": "en", "data": { "name": "John Doe", "barcode_content": "0123456789", "link": "https://portal.lauf-fuer-kaya.de/" } }' ``` ### Send Password Reset Email ```bash curl -X POST http://localhost:3000/api/v1/email \ -H "Content-Type: application/json" \ -d '{ "to": "user@example.com", "templateName": "password-reset", "language": "de", "data": { "token": "123465789" } }' ``` ### Check Queue Status ```bash curl http://localhost:3000/api/v1/email/status ``` ## 📝 Environment Variables ```env SMTP_HOST=localhost SMTP_PORT=587 SMTP_USER="project.1" SMTP_PASS="secret.1" EMAIL_FROM="noreply@lauf-fuer-kaya.de" EMAIL_REPLYTO="info@lauf-fuer-kaya.de" REDIS_URL=redis://localhost:6379 FRONTEND_URL="https://run.lauf-fuer-kaya.de" ``` ## 🛠️ Development The project uses: - 🏃‍♂️ Bun for runtime and package management - 🌐 Hono for the web framework - 📚 Zod for validation - 📧 Nodemailer for email sending - 📑 Handlebars for templating - 📊 BullMQ for queue management ## 📦 Available Templates ### Welcome Email - Languages: 🇬🇧 English, 🇩🇪 German - Variables: `name`, `link`, `barcode_content` ### Password Reset - Languages: 🇬🇧 English, 🇩🇪 German - Variables: `name`, `resetLink`, `expiresIn`