From 8561479b90c00a3b7a77428d55473df255cd1e22 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Wed, 27 Aug 2025 16:34:20 -0400 Subject: Remove email submission feature This requires either setting up my mailserver or signing up with Mailgun, and honestly I don't need either of those things right now. Just use the web submission, I can add the email submission feature later. --- Biz/PodcastItLater.md | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'Biz/PodcastItLater.md') diff --git a/Biz/PodcastItLater.md b/Biz/PodcastItLater.md index 89fc9b5..1e22e05 100644 --- a/Biz/PodcastItLater.md +++ b/Biz/PodcastItLater.md @@ -13,13 +13,11 @@ A service that converts web articles to podcast episodes via email submission or #### User Management - Email-based registration/login (no passwords) -- Auto-create users on first email submission - Session-based authentication - Personal RSS feed tokens - User-specific data isolation #### Article Processing -- Email submission via Mailgun webhook - Manual URL submission via web form - Content extraction with trafilatura - LLM-powered text preparation for natural speech @@ -150,7 +148,6 @@ S3_ENDPOINT= S3_BUCKET= S3_ACCESS_KEY= S3_SECRET_KEY= -MAILGUN_WEBHOOK_KEY= BASE_URL= DATABASE_PATH= # Used by both Web and Worker services SESSION_SECRET= @@ -185,7 +182,7 @@ The test suite will ensure reliability and correctness of all components before Tests will be placed in the same file as the code they test, following the pattern established in the codebase. Each module will contain its test classes nearby the functionality that class is testing: - `Biz/PodcastItLater/Core.py` - Contains database logic and TestDatabase, TestUserManagement, TestQueueOperations, TestEpisodeManagement classes -- `Biz/PodcastItLater/Web.py` - Contains web interface and TestAuthentication, TestArticleSubmission, TestRSSFeed, TestWebhook, TestAdminInterface classes +- `Biz/PodcastItLater/Web.py` - Contains web interface and TestAuthentication, TestArticleSubmission, TestRSSFeed, TestAdminInterface classes - `Biz/PodcastItLater/Worker.py` - Contains background worker and TestArticleExtraction, TestTextToSpeech, TestJobProcessing classes Each file will follow this pattern: @@ -261,13 +258,6 @@ This keeps tests close to the code they test, making it easier to maintain and u - `test_feed_episode_order` - Ensure reverse chronological order - `test_feed_enclosures` - Verify audio URLs and metadata -#### TestWebhook -- `test_mailgun_signature_valid` - Accept valid signatures -- `test_mailgun_signature_invalid` - Reject invalid signatures -- `test_webhook_url_extraction` - Extract URLs from email body -- `test_webhook_auto_create_user` - Create user on first email -- `test_webhook_multiple_urls` - Handle emails with multiple URLs -- `test_webhook_no_urls` - Handle emails without URLs gracefully #### TestAdminInterface - `test_queue_status_view` - Verify queue display @@ -307,7 +297,6 @@ This keeps tests close to the code they test, making it easier to maintain and u ### Integration Tests #### TestEndToEnd -- `test_email_to_podcast` - Full pipeline from email to RSS - `test_web_to_podcast` - Full pipeline from web submission - `test_multiple_users` - Concurrent multi-user scenarios - `test_error_recovery` - System recovery from failures @@ -317,7 +306,6 @@ This keeps tests close to the code they test, making it easier to maintain and u #### Fixtures and Mocks - Mock OpenAI API responses - Mock S3/Digital Ocean Spaces -- Mock Mailgun webhooks - In-memory SQLite for fast tests - Test data generators for articles -- cgit v1.2.3