Commit Graph

125 Commits

Author SHA1 Message Date
Ahmed Bakr Ali
b2a7678848 Unify task status error schema and classify PDF AI failures 2026-03-24 23:30:46 +02:00
Ahmed Bakr Ali
a6e0cab0b3 Merge pull request #3 from aborayan2022/codex/fix-image-to-svg-conversion-error
Harden Celery task imports to ensure image-to-svg task is always registered
2026-03-24 19:49:10 +02:00
Ahmed Bakr Ali
09913b2918 Harden Celery task imports for image-to-svg jobs 2026-03-24 19:47:51 +02:00
Your Name
5207204778 feat: update prebuild script to ensure generated SEO data is used and refactor SEO data import 2026-03-23 19:26:53 +02:00
Your Name
0fe1e42e54 feat: enhance SEO data loading with generated fallback
- Implemented a mechanism to load SEO data from a generated file (seoData.generated.json) if available.
- Added error handling to fallback to the original SEO data file (seoData.json) if the generated file is not present.
2026-03-23 18:54:22 +02:00
Your Name
4d71106aa8 feat: add Google Ads script for enhanced monetization 2026-03-23 17:24:22 +02:00
Your Name
97ce499216 feat: integrate Microsoft Clarity script for enhanced user analytics and update HTML structure 2026-03-23 16:08:20 +02:00
Your Name
baf2ab55b7 feat: add Microsoft Clarity dependency for enhanced user analytics 2026-03-23 02:27:53 +02:00
Your Name
42714730f2 feat: update Clarity initialization method in App component 2026-03-23 02:00:32 +02:00
Your Name
20c15e333c feat: integrate Microsoft Clarity for enhanced user analytics and add necessary configurations 2026-03-23 01:28:14 +02:00
Your Name
5310493cac feat: update HTML structure and enhance script for theme and language handling 2026-03-23 00:13:27 +02:00
Your Name
018459eb6f feat: enhance loading state in SocialProofStrip and remove deferred-section visibility 2026-03-22 23:35:43 +02:00
Your Name
cb5111737b feat: centralize Celery task imports in extensions and update worker initialization 2026-03-22 21:51:38 +02:00
Your Name
46bc0441b4 feat: add SVG conversion functionality for raster images and update requirements 2026-03-22 20:39:30 +02:00
Your Name
436bbf532c seo(frontend): strengthen indexing and internal linking 2026-03-22 20:20:15 +02:00
Your Name
bf9a5c65bc perf(frontend): reduce initial rendering cost 2026-03-22 20:15:35 +02:00
Your Name
2f60043ed8 feat: add error handling with toast notifications across various tools and admin page 2026-03-22 17:24:33 +02:00
Your Name
ce610f5c6e feat: add toast notifications for error handling and success messages across various components 2026-03-22 16:48:07 +02:00
Your Name
70d7f09110 feat: enhance file uploader with size validation and error handling 2026-03-22 15:12:19 +02:00
Your Name
d8a51d8494 feat: track user interest in paid plans and enhance admin analytics
- Added tracking for user interest in the pro plan on the PricingPage.
- Implemented auto-retry for CSRF token failures in API response interceptor.
- Introduced new interfaces and API functions for enhanced admin analytics, including ratings, tool usage, user stats, plan interest, and system health.
2026-03-21 13:49:02 +02:00
Your Name
c800f707e3 Add SEO data generation and testing for bilingual pages
- Implemented SEO data structures for programmatic tool and collection pages.
- Created functions to build FAQs and content sections for SEO pages.
- Added tests to ensure at least 50 bilingual SEO pages are generated, no duplicate English slugs, and matching Arabic localized paths.
- Verified that both tool and collection SEO inventories are populated adequately.
2026-03-21 10:55:43 +02:00
Your Name
a8a7ec55a2 Refactor SEO routing and page structure
- Replaced SeoProgrammaticPage with SeoRoutePage to handle dynamic routing for SEO pages.
- Updated App.tsx to use SeoRoutePage for dynamic routes.
- Consolidated SEO page logic into SeoPage component.
- Removed individual SEO programmatic routes and replaced them with a dynamic route structure.
- Added tests to ensure all routes are accounted for and dynamic SEO routes are present.
- Introduced new SeoRoutePage to manage locale and slug parameters for SEO pages.
2026-03-21 09:41:52 +02:00
Your Name
e1585216e6 refactor: clean up health check and task access logic by removing unused code 2026-03-21 09:10:18 +02:00
Your Name
f347022924 feat: add SEO configuration and pages for programmatic tools and collections
- Introduced seoPages.ts to manage SEO-related configurations and types for programmatic tools and collection pages.
- Created SeoCollectionPage and SeoProgrammaticPage components to render SEO content dynamically based on the new configuration.
- Enhanced API service to ensure CSRF token handling for secure requests.
- Added generateHowTo utility function for structured data generation.
- Updated sitemap generation script to include SEO tool and collection pages.
- Configured TypeScript to resolve JSON modules for easier integration of SEO data.   ستراتيجية التنفيذ

لم أغير أي core logic في أدوات التحويل أو الضغط أو التحرير
استخدمت architecture إضافية فوق النظام الحالي بدل استبداله
جعلت الـ SEO pages تعتمد على source of truth واحد حتى يسهل التوسع
ربطت التوليد مع build حتى لا تبقى sitemap وrobots ثابتة أو منسية
دعمت العربية والإنجليزية داخل نفس config الجديد
عززت internal linking من:
صفحات SEO إلى tool pages
صفحات SEO إلى collection pages
footer إلى collection pages
Suggested tools داخل صفحات الأدوات
التحقق
2026-03-21 01:19:32 +02:00
Your Name
0174f935c3 fix: resolve download 404 caused by file UUID / Celery task ID mismatch\n\nThe download route checked access using the file UUID from the URL,\nbut the session and usage_events only stored the Celery task ID.\nThese are different UUIDs, causing all downloads to return 404.\n\nFixes:\n- Add has_download_access() to check file_history table as fallback\n- Update assert_web/api_task_access to use file_history lookup\n- Remember file UUID in session when task status returns SUCCESS" 2026-03-20 10:07:48 +02:00
Your Name
94b23e511e feat: Add libreoffice-impress to Dockerfile and implement health checks for backend services 2026-03-19 15:45:21 +02:00
Your Name
5fb41b472a feat: Add input file existence check in PDF compression service and create test tools script 2026-03-19 15:13:04 +02:00
Your Name
b09fe890d8 feat: Implement environment variable fallback for configuration settings 2026-03-19 06:04:15 +02:00
Your Name
8358f4a413 refactor: Replace hardcoded backend references with variable for improved maintainability 2026-03-19 03:42:55 +02:00
Your Name
759bcd2437 feat: Enhance Stripe service to check for users table existence before altering 2026-03-19 01:46:13 +02:00
Your Name
140aaf7904 fix: production CSRF 2026-03-18 11:33:05 +02:00
Your Name
aed02e36e5 fix: production CSRF, ProxyFix, and SSE streaming issues 2026-03-18 11:21:42 +02:00
Your Name
88cc92c252 feat: Set default DATABASE_URL for PostgreSQL in .env.example 2026-03-18 10:11:00 +02:00
Your Name
d4e7e223e6 feat: Update Nginx configuration for Let's Encrypt integration and adjust volume mounts 2026-03-18 00:32:37 +02:00
Your Name
ca20413667 feat: Improve error handling in ContactPage and update Axios headers management 2026-03-18 00:07:18 +02:00
Your Name
a2824b2132 feat: Implement CSRF protection and PostgreSQL support
- Added CSRF protection mechanism in the backend with utility functions for token management.
- Introduced a new CSRF route to fetch the active CSRF token for SPA bootstrap flows.
- Updated the auth routes to validate CSRF tokens on sensitive operations.
- Configured PostgreSQL as a database option in the environment settings and Docker Compose.
- Created a new SQLite configuration file for local development.
- Enhanced the API client to automatically attach CSRF tokens to requests.
- Updated various frontend components to utilize the new site origin utility for SEO purposes.
- Modified Nginx configuration to improve redirection and SEO headers.
- Added tests for CSRF token handling in the authentication routes.
2026-03-17 23:26:32 +02:00
Your Name
3f24a7ea3e feat: Enhance task access control and session management
- Implemented API and web task access assertions in the task status polling endpoint.
- Added functions to remember and check task access in user sessions.
- Updated task status tests to validate access control based on session data.
- Enhanced download route tests to ensure proper access checks.
- Improved SEO metadata handling with dynamic social preview images.
- Updated sitemap generation to include blog posts and new tools.
- Added a social preview SVG for better sharing on social media platforms.
2026-03-17 21:19:23 +02:00
Your Name
ff5bd19335 feat: implement SSL support with Let's Encrypt and update Nginx configuration 2026-03-17 13:03:59 +02:00
Your Name
47f6b9f669 feat: update OpenRouter API key handling and add tests for configuration normalization 2026-03-17 00:50:05 +02:00
Your Name
467b1ea6ea chore: update environment configuration for production readiness and add SMTP settings 2026-03-16 23:50:37 +02:00
Your Name
1eb9faf6ca feat: enhance Vite configuration with dynamic allowed hosts and update Nginx server_name 2026-03-16 23:44:11 +02:00
Your Name
f933ffa8a0 chore: update project branding from SaaS-PDF to Dociva
- Updated robots.txt to reflect new site name and sitemap URL.
- Modified sitemap.xml to change all URLs from saas-pdf.com to dociva.io.
- Changed storage key for site assistant in SiteAssistant.tsx.
- Updated SEOHead.tsx to change site name in meta tags.
- Translated app name and related text in Arabic, English, and French JSON files.
- Updated contact email in ContactPage.tsx, PrivacyPage.tsx, and TermsPage.tsx.
- Changed internal admin page title to reflect new branding.
- Updated pricing page meta description to reference Dociva.
- Adjusted Nginx configuration for new domain.
- Modified deployment script to reflect new branding.
- Updated sitemap generation script to use new domain.
2026-03-16 21:51:12 +02:00
Your Name
957d37838c تم الانتهاء من آخر دفعة تحسينات على المشروع، وتشمل:
تحويل لوحة الإدارة الداخلية من secret header إلى session auth حقيقي مع صلاحيات admin.
إضافة دعم إدارة الأدوار من داخل لوحة الإدارة نفسها، مع حماية الحسابات المعتمدة عبر INTERNAL_ADMIN_EMAILS.
تحسين بيانات المستخدم في الواجهة والباكند لتشمل role وis_allowlisted_admin.
إضافة اختبار frontend مخصص لصفحة /internal/admin بدل الاعتماد فقط على build واختبار routes.
تحسين إضافي في الأداء عبر إزالة الاعتماد على pdfjs-dist/pdf.worker في عدّ صفحات PDF واستبداله بمسار أخف باستخدام pdf-lib.
تحسين تقسيم الـ chunks في build لتقليل أثر الحزم الكبيرة وفصل أجزاء مثل network, icons, pdf-core, وeditor.
التحقق الذي تم:

نجاح build للواجهة.
نجاح اختبار صفحة الإدارة الداخلية في frontend.
نجاح اختبارات auth/admin في backend.
نجاح full backend suite مسبقًا مع EXIT:0.
ولو تريد نسخة أقصر جدًا، استخدم هذه:

آخر التحديثات:
تم تحسين نظام الإدارة الداخلية ليعتمد على صلاحيات وجلسات حقيقية بدل secret header، مع إضافة إدارة أدوار من لوحة admin نفسها، وإضافة اختبارات frontend مخصصة للوحة، وتحسين أداء الواجهة عبر إزالة pdf.worker وتحسين تقسيم الـ chunks في build. جميع الاختبارات والتحققات الأساسية المطلوبة نجح
2026-03-16 13:50:45 +02:00
Ahmed Bakr Ali
b5d97324a9 Merge pull request #1 from aborayan2022/codex/evaluate-saas-project-and-suggest-improvements
Add Brand Naming Strategy document for SaaS-PDF
2026-03-15 20:27:04 +02:00
Ahmed Bakr Ali
b0d5431102 docs: add brand naming strategy and shortlist 2026-03-15 20:20:38 +02:00
Your Name
c167091399 feat: enhance production readiness with environment configuration, dependency checks, and sitemap updates 2026-03-15 13:29:02 +02:00
Your Name
3217681108 chore: pre-phase-1 cleanup - OpenRouter config fallback and PLAN.md 2026-03-14 22:37:36 +02:00
Your Name
2b3367cdea feat: add site assistant component for guided tool selection
- Introduced SiteAssistant component to assist users in selecting the right tools based on their queries.
- Integrated assistant into the main App component.
- Implemented message handling and storage for user-assistant interactions.
- Added quick prompts for common user queries related to tools.
- Enhanced ToolLandingPage and DownloadButton components with SharePanel for sharing tool results.
- Updated translations for new assistant features and sharing options.
- Added API methods for chat functionality with the assistant, including streaming responses.
2026-03-14 10:07:55 +02:00
Your Name
e06e64f85f feat: Enhance PDF tools with new reorder and watermark removal functionalities
- Added tests for rotating PDFs, removing watermarks, and reordering pages in the backend.
- Implemented frontend logic to read page counts from uploaded PDFs and validate page orders.
- Updated internationalization files to include new strings for reorder and watermark removal features.
- Improved user feedback during page count reading and validation in the Reorder PDF component.
- Ensured that the reorder functionality requires a complete permutation of pages.
2026-03-11 14:21:25 +02:00
Your Name
e4e3b9fe2d Merge branch 'feature/seo-content' 2026-03-10 23:55:43 +02:00