π¦ Export Documentation
Complete guide to export and deploy this app to organizemyrecipes.com
Complete Export Guide
# Grandma's Recipe Box - Complete Export Guide ## π― App Overview **Original App:** grandmasrecipebox.app **New App:** organizemyrecipes.com **Platform:** Base44 **Version:** 1.0.0 --- ## π Prerequisites ### Required Accounts: - Base44 account (https://base44.com) - Stripe account for payments - Twilio account for SMS - GitHub account (for version control) ### Tech Stack: - **Frontend:** React, TailwindCSS, Shadcn/UI - **Backend:** Deno Deploy (Base44 functions) - **Database:** PostgreSQL with RLS - **Auth:** Base44 built-in - **Payments:** Stripe - **SMS:** Twilio --- ## ποΈ Database Entities (49 files) All entities include Row-Level Security (RLS): 1. Recipe - Main recipe storage 2. User - Extended user profiles 3. RecipeLike - Like tracking 4. Review - Recipe reviews/ratings 5. Collection - Recipe collections 6. RecipeCollection - Collection links 7. Follow - User following 8. ShoppingListItem - Shopping lists 9. CommunityPost - Forum posts 10. CommunityReply - Post replies 11. CommunityLike - Post likes 12. AffiliateReferral - Referral tracking 13. PromoCode - Discount codes 14. RecipeComment - Recipe comments 15. MealPlan - Meal planning 16. EmergencyRecipe - Recovery backup 17. RecipeFolder - Organization folders 18. PantryItem - Pantry inventory 19. FridgeItem - Fridge inventory 20. CulinaryTerm - Glossary terms 21. AppSettings - App configuration 22. PdfCookbook - PDF cookbooks 23. Feedback - User feedback 24. AggregatedRecipe - Trending recipes 25. UserBoard - User boards 26. BoardRecipe - Board links 27. TikTokRecipe - Social imports 28. Lead - Lead generation 29. SmsVerification - SMS OTP 30. UserSession - Session tracking 31. SmsMarketingCampaign - SMS campaigns 32. GiftPurchase - Gift certificates 33. RecipeMemory - Recipe memories 34. PdfBookmark - PDF bookmarks 35. PdfCollectionLink - PDF collections 36. HeirloomOrder - Product orders 37. HeirloomTemplate - Print templates 38. HeirloomProduct - Products catalog 39. HeirloomSettings - Shop settings 40. PdfChunk - PDF upload chunks 41. PdfAccess - PDF permissions 42. PdfViewToken - Secure PDF viewing 43. SupportTicket - Support system 44. AgentMessage - Agent notifications 45. SiteHealthIssue - System monitoring 46. AggregationSourceStatus - Source tracking 47. EngagementLog - User engagement 48. ExtractorLog - Extraction logs 49. BlogPost - Blog system --- ## π± Frontend Pages (50+ files) ### Public Pages: - Landing.js - Homepage - Blog.js - Blog listing - BlogPost.js - Blog article view - TermsOfService.js - PrivacyPolicy.js - SignInHelp.js - AuthRedirect.js ### User Pages: - Home.js - User dashboard - MyRecipes.js - Recipe library - AddRecipe.js - Create recipe - EditRecipe.js - Edit recipe - RecipeDetail.js - View recipe - Profile.js - User profile - EditProfile.js - Edit profile - Subscription.js - Manage subscription ### Recipe Management: - Folders.js - Folder organization - Collections.js - Collections view - CollectionDetail.js - Collection detail - CreateCollection.js - New collection - UserBoards.js - Pinterest-style boards - DiscoverRecipes.js - Discover feed - IngredientSearch.js - Search by ingredients ### Meal Planning: - MealPlanner.js - Meal planning - ShoppingList.js - Shopping lists - PantryInventory.js - Pantry tracking - FridgeInventory.js - Fridge tracking ### Import/Export: - AddTikTokRecipe.js - TikTok import - TikTokRecipes.js - TikTok library - TikTokRecipeDetail.js - TikTok detail - UploadHandwrittenRecipe.js - Scan recipes - TypeYourRecipe.js - Manual entry - MyOnlineRecipeWishList.js - Wishlist ### Cookbooks: - Cookbooks.js - Cookbook library - CookbookDetail.js - View cookbook - CreateRecipeBook.js - Create cookbook - CookbookExtractor.js - Extract from PDFs ### Community: - Community.js - Forum - CommunityPost.js - Post detail - CreatePost.js - New post ### Special Features: - CookingMode.js - Hands-free cooking - VoiceCapture.js - Voice recording - CulinaryGlossary.js - Cooking terms - KeepsakeLedger.js - Recipe memories - GrandmaShirley.js - AI assistant ### Gifts & Shop: - HeirloomGifts.js - Custom gifts - ReadyMadeGifts.js - Pre-made gifts - GiftCertificatePreview.js - Gift preview - OfferSuccess.js - Purchase success - OfferCancel.js - Purchase cancel ### Admin Pages: - AdminDashboard.js - Analytics - AdminUsers.js - User management - AdminSettings.js - App settings - AdminPromoCodes.js - Promo management - AdminAffiliates.js - Affiliate management - AdminFeedback.js - Feedback review - AdminOrphanedRecipes.js - Data recovery - AdminSmsMarketing.js - SMS campaigns - AdminLeads.js - Lead management - AdminTickets.js - Support tickets - AdminSiteHealth.js - System health - AdminHeirloomDashboard.js - Shop dashboard - AdminHeirloomTemplates.js - Template management - AdminHeirloomProducts.js - Product catalog - AdminHeirloomSettings.js - Shop settings --- ## π§© Components (40+ files) ### Core Components: - RecipeCard.js - Recipe display card - CategoryFilter.js - Category filtering - DietaryFilter.js - Dietary filtering - FeaturedRecipes.js - Featured section - ShareRecipeDialog.js - Share modal - RecipeComments.js - Comments section - ServingSizeAdjuster.js - Serving adjuster - IngredientSubstitution.js - Substitutions - RecipeScanner.js - Image scanning - ImageEditor.js - Photo editing - CSVImportDialog.js - CSV import - TikTokFavorites.js - TikTok favorites ### Reviews: - reviews/StarRating.js - Star rating - reviews/ReviewSection.js - Review list ### Subscription: - subscription/PremiumFeatureGate.js - Paywall - subscription/UpgradeModal.js - Upgrade prompt - subscription/UpgradePrompts.js - Smart prompts - subscription/CookbookUpgradeModal.js - Cookbook paywall - subscription/StrategicPaywall.js - Strategic blocking - subscription/PaymentGateModal.js - Payment gate ### Community: - community/CommunityPostCard.js - Post card ### Meal Planning: - meal-planner/AddRecipeToPlanDialog.js - Add to plan ### Recipes: - recipes/NutritionCalculatorButton.js - Nutrition - recipes/QrCodeModal.js - QR codes - recipes/UnitConverterModal.js - Unit converter - recipes/DuplicateFinderModal.js - Find duplicates - recipes/EquipmentToolsSection.js - Equipment display - recipes/EquipmentToolsEditor.js - Equipment editor - recipes/SocialRecipeEditor.js - Social editor - recipes/CoverDesignStudio.js - Cover designer ### Boards: - boards/BoardSelectionModal.js - Board selector ### Auth: - auth/SecureSigninDialog.js - Secure login - auth/AuthUpdateBanner.js - Auth updates - auth/LoginHelperBanner.js - Login help - auth/EmailPasswordLoginDialog.js - Email login ### Media: - media/ImageWithFallback.js - Image loader ### Offers: - offers/GiftDialog.js - Gift modal - offers/LaunchOffer.js - Launch offer - offers/GiftCertificate.js - Certificate - offers/GiftCertificateModal.js - Certificate modal ### PDF: - pdf/ResumablePdfUploader.js - Resume uploads - pdf/SecurePdfViewer.js - Secure viewing - pdf/ChunkedPdfUploader.js - Chunked uploads - pdf/PdfDiagnosticModal.js - PDF diagnostics - pdf/RobustPdfViewer.js - Robust viewer ### Photos: - photos/PhotoEditorModal.js - Photo editor ### Social: - social/TikTokEmbed.js - TikTok embed ### Cookbooks: - cookbooks/ExtractedCookbookRenderer.js - Cookbook renderer ### Assistant: - assistant/VoiceAssistant.js - Voice assistant - assistant/grandmaTerryPrompt.js - Terry prompt - assistant/TerryAvatar.js - Terry avatar - assistant/GrandmaTerryHeader.js - Terry header - assistant/AgentNotifications.js - Agent notifications - assistant/VoiceToggle.js - Voice toggle ### Utility: - DevelopmentBanner.js - Dev banner - FeedbackChatbot.js - Feedback chat - AppProtection.js - App protection - FeedbackResponseNotification.js - Feedback notification - ErrorBoundary.js - Error handling - SessionProvider.js - Session context - ErrorHandlingModal.js - Error modal - SaveSuccessModal.js - Save success - LeadMagnetDownloadModal.js - Lead magnet - LivestreamPlayer.js - Livestream - GrandmaShirleyWidget.js - Shirley widget - PrivacyNotice.js - Privacy notice - WhatYouGet.js - Feature list - AddToHomeScreen.js - PWA prompt - PdfUploadOptions.js - PDF options - hooks/useWindowSize.js - Window size hook --- ## βοΈ Backend Functions (45 files) ### Stripe Functions: - createCheckoutSession.js - Create payment - createCustomerPortal.js - Manage subscription - stripeWebhook.js - Handle webhooks - createLimitedTimeCheckout.js - Limited offers - finalizeLimitedOffer.js - Finalize offer ### Recipe Functions: - saveRecipe.js - Save recipe - extractRecipeFromUrl.js - Extract from URL - extractSocialMediaRecipe.js - Social extract - extractRecipeImage.js - OCR scanning - saveImportedRecipe.js - Save imported - uploadImageFromUrl.js - Image upload - claimRecipeOwnership.js - Claim recipe ### Export/Import: - exportRecipesCSV.js - Export CSV - importRecipesCSV.js - Import CSV - exportUserEmails.js - Export emails ### PDF Functions: - generateRecipeBook.js - Generate cookbook - generateRecipePdf.js - Recipe PDF - generateShoppingListPdf.js - Shopping PDF - generateMealPlanPdf.js - Meal plan PDF - generateSignedPdfUrl.js - Signed URLs - finalizeUpload.js - Finalize upload - getSecurePdfUrl.js - Secure URL - initiateChunkedUpload.js - Start chunk - uploadPdfChunk.js - Upload chunk - finalizeChunkedUpload.js - Finish chunk - streamCookbookPdf.js - Stream PDF - uploadSmallCookbook.js - Small upload - cookbooksView.js - View cookbook - generateCookbookViewToken.js - View token - extractCookbookRecipes.js - Extract recipes - diagnosePdfCookbook.js - Diagnose PDF ### SMS Functions: - sendSmsCode.js - Send OTP - verifySmsCode.js - Verify OTP - sendMarketingSms.js - Marketing SMS ### Admin Functions: - processReferral.js - Process referral - applyPromoCode.js - Apply promo - sendFeedbackResponse.js - Feedback reply - logApplicationError.js - Error logging - johnAggregateRecipes.js - Aggregate recipes - siteIntegrityCheck.js - Health check - engagementPulse.js - Engagement tracking - generateAdminReport.js - Admin reports ### Social Functions: - socialMediaRecipeExtractor.js - Social extract - getTikTokMeta.js - TikTok metadata - migrateTikTokEmbeds.js - Migrate embeds - migrateTikTokRecipes.js - Migrate recipes ### Recovery Functions: - getOrphanedRecipes.js - Find orphans - bulkRecoverAllRecipes.js - Bulk recover - databaseDiagnostic.js - Database check - emergencySaveRecipe.js - Emergency save - emergencyTextSave.js - Text save - ultimateRecipeTest.js - Test save - emergencyFixAllRecipes.js - Fix all ### Auth Functions: - emailPasswordLogin.js - Email login --- ## π€ AI Agents (2 files) ### John (Backend Automation): **File:** agents/john.json **Responsibilities:** - Daily recipe aggregation - Support ticket management - Site health monitoring - Admin reporting - User engagement tracking **Entities Access:** - AggregatedRecipe - AggregationSourceStatus - SupportTicket - Feedback - SiteHealthIssue - EngagementLog - AgentMessage - User (read/update) - Recipe (read) ### Grandma Terry (Community Guide): **File:** agents/grandma_terry.json **Responsibilities:** - Welcome new users - Answer cooking questions - Community engagement - Recipe assistance - User retention **Entities Access:** - AgentMessage - CommunityPost - CommunityReply - User (read) - Recipe (read) - Review (read) --- ## π Secrets Configuration ### Required Secrets: ```env # Stripe (Required) STRIPE_SECRET_KEY=sk_live_... STRIPE_WEBHOOK_SECRET=whsec_... # Twilio (Required) TWILIO_ACCOUNT_SID=AC... TWILIO_AUTH_TOKEN=... TWILIO_PHONE_NUMBER=+1... # Auto-populated by Base44: BASE44_APP_ID=auto ``` ### How to Get Secrets: **Stripe:** 1. Go to https://dashboard.stripe.com 2. Navigate to Developers β API keys 3. Copy "Secret key" (starts with sk_live_ or sk_test_) 4. Create webhook endpoint: https://your-domain.com/functions/stripeWebhook 5. Select events: - checkout.session.completed - customer.subscription.created - customer.subscription.updated - customer.subscription.deleted - invoice.payment_succeeded - invoice.payment_failed 6. Copy webhook secret (starts with whsec_) **Twilio:** 1. Go to https://console.twilio.com 2. Copy Account SID from dashboard 3. Copy Auth Token from dashboard 4. Buy a phone number (Phone Numbers β Buy a number) 5. Copy phone number in E.164 format (+1234567890) --- ## π Deployment Steps ### Step 1: Create Base44 Project 1. Log into Base44 dashboard 2. Create new project: "Organize My Recipes" 3. Set domain: organizemyrecipes.com ### Step 2: Upload All Entities (49 files) 1. Go to "Data" tab 2. Create each entity from entities/ folder 3. Ensure RLS policies are configured ### Step 3: Upload All Pages (50+ files) 1. Go to "Pages" tab 2. Upload each page from pages/ folder ### Step 4: Upload All Components (40+ files) 1. Go to "Components" tab 2. Upload each component from components/ folder ### Step 5: Upload All Functions (45 files) 1. Go to "Functions" tab 2. Deploy each function from functions/ folder ### Step 6: Upload Agents (2 files) 1. Go to "Agents" tab 2. Upload john.json and grandma_terry.json ### Step 7: Upload Layout 1. Go to "Layout" tab 2. Upload Layout.js ### Step 8: Configure Secrets 1. Go to Settings β Environment Variables 2. Add all required secrets ### Step 9: Configure Stripe Webhooks 1. Point webhook to your function URL 2. Test webhook delivery ### Step 10: Test Everything - User registration - Recipe creation - Payment flow - All major features ### Step 11: Go Live! π --- ## π File Structure Summary ``` organize-my-recipes/ βββ entities/ (49 JSON files) βββ pages/ (50+ JS files) βββ components/ (40+ JS files) βββ functions/ (45 JS files) βββ agents/ (2 JSON files) βββ Layout.js (1 JS file) Total: ~187 files ``` --- ## π Migration Checklist ### Pre-Migration: - [ ] Backup original app data - [ ] Document custom configurations - [ ] Export user list (if needed) - [ ] Take screenshots of current app ### During Migration: - [ ] Create new Base44 project - [ ] Upload all entities - [ ] Upload all pages - [ ] Upload all components - [ ] Upload all functions - [ ] Upload agents - [ ] Upload layout - [ ] Configure secrets - [ ] Test each feature ### Post-Migration: - [ ] DNS configuration - [ ] SSL certificate (auto) - [ ] Test payment flow - [ ] Test email/SMS - [ ] Monitor for errors - [ ] User acceptance testing --- ## π Support Resources - **Base44:** support@base44.com - **Stripe:** https://support.stripe.com - **Twilio:** https://support.twilio.com - **GitHub:** https://github.com/YOUR_USERNAME/organize-my-recipes --- ## π― Success Criteria Your migration is successful when: - β All pages load without errors - β Users can register and login - β Recipes can be created and edited - β Payments process correctly - β SMS notifications work - β All admin features function - β Mobile responsive works - β No console errors --- **Export Date:** January 2025 **Version:** 1.0.0 **Platform:** Base44
π Need Help?
Base44 Support
support@base44.com
Stripe Support
support.stripe.com
Twilio Support
support.twilio.com
