- Add uload project with apps/web structure
- Reorganize from flat to monorepo structure
- Remove PocketBase binary and local data
- Update to pnpm and @uload/web namespace
- Add picture project to monorepo
- Remove embedded git repository
- Unify all package names to @{project}/{app} schema:
- @maerchenzauber/* (was @storyteller/*)
- @manacore/* (was manacore-*, manacore)
- @manadeck/* (was web, backend, manadeck)
- @memoro/* (was memoro-web, landing, memoro)
- @picture/* (already unified)
- @uload/web
- Add convenient dev scripts for all apps:
- pnpm dev:{project}:web
- pnpm dev:{project}:landing
- pnpm dev:{project}:mobile
- pnpm dev:{project}:backend
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
3.1 KiB
Email Configuration Guide for ulo.ad
The team invitation system is fully implemented and ready to send emails. To enable actual email sending, choose one of the following options:
Option 1: PocketBase SMTP (Recommended) ⭐
-
Access PocketBase Admin Panel
- Go to: https://pb.ulo.ad/_/
- Login with your admin credentials
-
Navigate to Mail Settings
- Go to Settings → Mail settings
- Or direct link: https://pb.ulo.ad/_/#/settings/mail
-
Configure SMTP
- Enable "Use SMTP mail server"
- Enter your SMTP details:
For Gmail:
- SMTP Host:
smtp.gmail.com - Port:
587 - Username: Your Gmail address
- Password: Generate an App Password
- Use TLS: ✅
For Outlook/Hotmail:
- SMTP Host:
smtp-mail.outlook.com - Port:
587 - Username: Your Outlook email
- Password: Your password
- Use TLS: ✅
For Custom Domain (e.g., Zoho, FastMail):
- Check your email provider's SMTP settings
-
Save Settings
- Click "Save changes"
- Test by inviting a team member
Option 2: Brevo (Free - 300 emails/day)
-
Sign up at Brevo
-
Get your API key
- Go to: https://app.brevo.com/settings/keys/api
- Copy the API key
-
Add to
.envBREVO_API_KEY=your-api-key-here -
Update
/src/lib/services/email-sender.ts- Uncomment the Brevo code section (lines 35-50)
- Comment out the console.log section
Option 3: Resend (Free - 100 emails/day)
-
Sign up at Resend
-
Verify your domain
-
Get your API key
-
Add to
.envRESEND_API_KEY=your-api-key-here -
Update
/src/lib/services/email-sender.ts- Uncomment the Resend code section (lines 52-66)
- Comment out the console.log section
Testing Email Setup
-
Restart the dev server (if you added environment variables)
npm run dev -
Test invitation flow:
- Go to Settings → Team Management
- Invite a team member by email
- Check the console/logs to see if email was sent
- Check recipient's inbox
Current Status
✅ Email templates are ready ✅ Invitation flow is complete ✅ Email logging is active (you'll see emails in console) ⏳ SMTP configuration needed (choose one option above)
Email Templates Included
- Team invitation for existing users - Sent when inviting registered users
- Team invitation for new users - Sent when inviting non-registered emails
- Invitation accepted notification - Sent to owner when invitation is accepted
All templates are bilingual (German/English) and mobile-responsive.
Troubleshooting
- Emails not sending? Check PocketBase logs: Admin → Logs
- SMTP errors? Verify credentials and port settings
- Gmail blocking? Use App Password, not regular password
- Rate limits? Free tiers have daily limits
For production, we recommend using PocketBase SMTP with a professional email service like SendGrid, Mailgun, or Amazon SES.