16 Commits

Author SHA1 Message Date
Roberto Musso
df43f4783a fix(migration): guard 003 against pre-existing language column
All checks were successful
Test & Deploy Waitlist / test (push) Successful in 35s
Test & Deploy Waitlist / deploy (push) Successful in 16s
v0.2.2
2026-04-12 10:12:52 +02:00
Roberto Musso
b7ba18641b feat(i18n): add multilanguage support to waitlist emails and result pages
Some checks failed
Test & Deploy Waitlist / test (push) Successful in 34s
Test & Deploy Waitlist / deploy (push) Failing after 15s
- Add 'language' column to waitlist_entries (en/it/es/fr/de, default en)
- Accept 'lang' field in POST /waitlist request body
- Translate confirmation email (subject, badge, heading, body, CTA, footer)
- Translate confirm/unsubscribe result HTML pages
- Return localized success message in WaitlistResponse
- Update language preference on duplicate signups
- Alembic migration 003_add_language_column
2026-04-12 10:06:35 +02:00
Roberto Musso
d32fc7ae30 feat: add daily waitlist report email (Brevo)
All checks were successful
Test & Deploy Waitlist / test (push) Successful in 35s
Test & Deploy Waitlist / deploy (push) Successful in 15s
v0.2.1
2026-04-11 20:28:29 +02:00
Roberto Musso
352e25d651 feat: GDPR compliance — anonymization, unsubscribe, consent tracking
- Add consent_given_at and anonymized_at fields + Alembic migration (002)
- Add GET /waitlist/unsubscribe endpoint (HMAC token, anonymizes PII)
- Add cleanup.py: cron-able script to anonymize unconfirmed entries after 48h
- Clear IP address on email confirmation (no longer needed)
- Add unsubscribe link in confirmation email footer
- Record consent timestamp on signup
- Add 4 new tests (unsubscribe, consent timestamp)
- Update .env.example, schemas
2026-04-11 19:41:27 +02:00
Roberto Musso
5f79ce87f9 fix: update confirm base URL to adiuvai.com and success messages for double opt-in
All checks were successful
Test & Deploy Waitlist / test (push) Successful in 35s
Test & Deploy Waitlist / deploy (push) Successful in 16s
v0.2.0
2026-04-11 19:13:59 +02:00
Roberto Musso
73a76c6667 fix: remove unused urlencode import
All checks were successful
Test & Deploy Waitlist / test (push) Successful in 35s
Test & Deploy Waitlist / deploy (push) Successful in 37s
2026-04-11 19:00:38 +02:00
Roberto Musso
e9fb6102ab style: align confirmation result page with adiuvAI brand
Some checks failed
Test & Deploy Waitlist / test (push) Failing after 33s
Test & Deploy Waitlist / deploy (push) Has been skipped
2026-04-11 18:58:12 +02:00
Roberto Musso
f956f0a260 feat: Brevo double opt-in + contact sync
- Add brevo.py: transactional email sending + contact list sync via Brevo API
- Add token.py: stateless HMAC-signed confirmation tokens (no DB migration needed)
- Update routes.py: POST /waitlist sends confirmation email, GET /waitlist/confirm verifies token
- Update config.py: Brevo + confirmation settings (gracefully disabled when BREVO_API_KEY is empty)
- Update .env.example with new Brevo and confirmation variables
- Add httpx dependency
- Add 8 new tests (token roundtrip/expiry/tamper, confirm endpoint, Brevo mock)
2026-04-11 18:48:58 +02:00
Roberto Musso
7553a0c02b update health check
All checks were successful
Test & Deploy Waitlist / test (push) Successful in 34s
Test & Deploy Waitlist / deploy (push) Successful in 16s
v0.1.0
2026-04-11 17:42:54 +02:00
Roberto Musso
2e92bee410 update the deploy
Some checks failed
Test & Deploy Waitlist / test (push) Successful in 35s
Test & Deploy Waitlist / deploy (push) Failing after 29s
2026-04-11 17:30:48 +02:00
Roberto Musso
0a1fd3cd67 update git url
Some checks failed
Test & Deploy Waitlist / test (push) Successful in 34s
Test & Deploy Waitlist / deploy (push) Failing after 20s
2026-04-11 17:12:46 +02:00
Roberto Musso
cbcbb05cb6 Update deploy to external server
Some checks failed
Test & Deploy Waitlist / test (push) Successful in 34s
Test & Deploy Waitlist / deploy (push) Failing after 2m15s
2026-04-11 17:04:08 +02:00
Roberto Musso
d630f4bb1f add PYTHONPATH environment variable in Dockerfile
Some checks failed
Test & Deploy Waitlist / test (push) Successful in 35s
Test & Deploy Waitlist / deploy (push) Has been cancelled
2026-04-11 15:37:59 +02:00
Roberto Musso
77e02b4e86 update building
Some checks failed
Test & Deploy Waitlist / test (push) Successful in 37s
Test & Deploy Waitlist / deploy (push) Failing after 51s
2026-04-11 14:41:16 +02:00
Roberto Musso
74c3298bd4 update package
Some checks failed
Test & Deploy Waitlist / test (push) Successful in 35s
Test & Deploy Waitlist / deploy (push) Failing after 1m33s
2026-04-11 10:58:21 +02:00
Roberto Musso
4b2fefcf92 Initial commit: waitlist microservice
Some checks failed
Test & Deploy Waitlist / test (push) Failing after 44s
Test & Deploy Waitlist / deploy (push) Has been skipped
2026-04-11 10:35:53 +02:00