docs: Update roadmap with Postal mail server completion
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
This commit is contained in:
parent
5a60f3303a
commit
9eeba8571c
1 changed files with 60 additions and 80 deletions
140
docs/ROADMAP.md
140
docs/ROADMAP.md
|
|
@ -6,15 +6,24 @@
|
|||
|
||||
## Current Status Summary
|
||||
|
||||
### ✅ Email Service
|
||||
### ✅ Email Service - COMPLETE
|
||||
|
||||
**Status: MAILGUN CONFIGURED**
|
||||
**Status: POSTAL SELF-HOSTED (PRODUCTION READY)**
|
||||
|
||||
- Mailgun API as primary provider
|
||||
- AWS SES as fallback
|
||||
- From address: `noreply@elmeg.xyz`
|
||||
- Frontend URL: `https://elmeg.xyz`
|
||||
- **Pending:** DNS records for `mail.elmeg.xyz` subdomain
|
||||
| Component | Status |
|
||||
|-----------|--------|
|
||||
| Postal Mail Server | ✅ Running on tangible-aacorn |
|
||||
| SMTP Host | `smtp.elmeg.xyz:25` |
|
||||
| Web Dashboard | <https://postal.elmeg.xyz> |
|
||||
| SPF Record | ✅ Configured |
|
||||
| DKIM Record | ✅ Configured |
|
||||
| DMARC Record | ✅ Configured |
|
||||
| Return Path | ✅ Configured |
|
||||
|
||||
**SMTP Credentials:**
|
||||
|
||||
- Username: `elmeg/main`
|
||||
- Password: (in production .env)
|
||||
|
||||
### Templates Available
|
||||
|
||||
|
|
@ -35,9 +44,44 @@
|
|||
| Auth Console Error Fix | ✅ Fixed |
|
||||
| Videos Page Link Fix | ✅ Fixed |
|
||||
| Hide Test Users | ✅ Implemented |
|
||||
| Mailgun Integration | ✅ Code Ready |
|
||||
| Bandcamp/Nugs Links | ✅ Complete |
|
||||
| Enhanced Footer | ✅ Deployed |
|
||||
| **Postal Mail Server** | ✅ Built & Deployed |
|
||||
| **Email DNS Records** | ✅ SPF/DKIM/DMARC/RP |
|
||||
| **SMTP Integration** | ✅ Backend configured |
|
||||
|
||||
---
|
||||
|
||||
## Postal Mail Server Details
|
||||
|
||||
### Infrastructure
|
||||
|
||||
| Component | Details |
|
||||
|-----------|---------|
|
||||
| Location | tangible-aacorn (Hetzner ARM64) |
|
||||
| Build | Custom ARM64 from source |
|
||||
| Database | MariaDB 11 |
|
||||
| Queue | RabbitMQ 3.13 |
|
||||
| Routing | Traefik with Let's Encrypt |
|
||||
|
||||
### DNS Records (Cloudflare)
|
||||
|
||||
| Type | Name | Value |
|
||||
|------|------|-------|
|
||||
| A | postal | 159.69.219.254 (DNS only) |
|
||||
| A | smtp | 159.69.219.254 (DNS only) |
|
||||
| MX | @ | smtp.elmeg.xyz (Priority 10) |
|
||||
| TXT | @ | v=spf1 mx a ip4:159.69.219.254 ~all |
|
||||
| TXT | postal-VkYvkc._domainkey | v=DKIM1; t=s; h=sha256; p=... |
|
||||
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:admin@elmeg.xyz |
|
||||
| CNAME | psrp | smtp.elmeg.xyz |
|
||||
|
||||
### Admin Access
|
||||
|
||||
- **URL:** <https://postal.elmeg.xyz>
|
||||
- **Login:** <admin@elmeg.xyz>
|
||||
- **Organization:** Elmeg
|
||||
- **Mail Server:** main
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -61,50 +105,21 @@
|
|||
| Chase Song Played | Post-import check | Needs backend work |
|
||||
| Weekly Digest | Email templates + cron | Future |
|
||||
|
||||
### Phase 3: Data & Account (Deferred)
|
||||
|
||||
| Feature | Notes |
|
||||
|---------|-------|
|
||||
| Export My Data | GDPR compliance, JSON download |
|
||||
| Delete Account | Cascade delete + confirmation |
|
||||
| Connected Accounts | OAuth providers (future) |
|
||||
|
||||
---
|
||||
|
||||
## External Links System
|
||||
|
||||
### ✅ Phase 1: Database + Admin - COMPLETE
|
||||
|
||||
- `bandcamp_link`, `nugs_link` on Show model
|
||||
- `bandcamp_link`, `nugs_link` on Performance model
|
||||
- Admin PATCH endpoints for both
|
||||
- Bulk import endpoint: `POST /admin/import/external-links`
|
||||
|
||||
### ✅ Phase 2: Frontend Display - COMPLETE
|
||||
|
||||
- Show-level links (buttons next to tour info)
|
||||
- Performance-level links (icons in setlist)
|
||||
|
||||
### Phase 3: Import Tools (Future)
|
||||
|
||||
- [ ] CSV import UI
|
||||
- [ ] Admin bulk edit
|
||||
|
||||
---
|
||||
|
||||
## Bug Tracker
|
||||
|
||||
**Status: ✅ DEPLOYED**
|
||||
|
||||
- **URL:** `/bugs`
|
||||
- **Features:**
|
||||
- Bug/Feature request submission
|
||||
- My Tickets view
|
||||
- Known Issues (public)
|
||||
- Ticket detail with comments
|
||||
- Upvoting
|
||||
- Admin status/visibility control
|
||||
- **Database:** `ticket`, `ticketcomment` tables created
|
||||
**Status: ✅ DEPLOYED at `/bugs`**
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -112,22 +127,7 @@
|
|||
|
||||
### ✅ Phase 1: Jewel Tones (Complete)
|
||||
|
||||
12 gemstone-named colors available to all users
|
||||
|
||||
### Phase 2: Pastels (Unlock 1)
|
||||
|
||||
- Trigger: 5 shows attended OR 10 ratings
|
||||
- Colors: Soft versions of jewel tones
|
||||
|
||||
### Phase 3: Neons (Unlock 2)
|
||||
|
||||
- Trigger: 15 shows attended OR Level 5
|
||||
- Colors: Vibrant high-saturation
|
||||
|
||||
### Phase 4: Gradients (Unlock 3)
|
||||
|
||||
- Trigger: Level 10 OR special achievement
|
||||
- Two-tone diagonal gradients
|
||||
### Phase 2-4: (Future)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -135,8 +135,8 @@
|
|||
|
||||
### High Priority
|
||||
|
||||
- [ ] Configure Mailgun DNS records
|
||||
- [ ] Add Mailgun env vars to production
|
||||
- [ ] Test email verification flow end-to-end
|
||||
- [ ] Test password reset flow end-to-end
|
||||
|
||||
### Medium Priority
|
||||
|
||||
|
|
@ -152,33 +152,13 @@
|
|||
|
||||
---
|
||||
|
||||
## Questions to Resolve
|
||||
|
||||
### 1. Analytics Provider
|
||||
|
||||
**Options:**
|
||||
|
||||
- **Plausible** (privacy-first, GDPR compliant, ~$9/mo)
|
||||
- **Umami** (self-hosted, free)
|
||||
- **PostHog** (product analytics + session replay)
|
||||
|
||||
### 2. Email DNS
|
||||
|
||||
**Needed for Mailgun:**
|
||||
|
||||
- SPF record for mail.elmeg.xyz
|
||||
- DKIM records (2)
|
||||
- MX records for bounce handling
|
||||
- DMARC record
|
||||
|
||||
---
|
||||
|
||||
## Implementation Priority
|
||||
|
||||
### Immediate (Next Session)
|
||||
### Immediate (Testing)
|
||||
|
||||
1. [ ] Add Mailgun env vars to production
|
||||
2. [ ] Configure DNS for mail.elmeg.xyz
|
||||
1. [ ] Register test account to trigger verification email
|
||||
2. [ ] Test password reset flow
|
||||
3. [ ] Monitor email deliverability in Postal dashboard
|
||||
|
||||
### This Week
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue