Commit Graph

114 Commits

Author SHA1 Message Date
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
Your Name
d4c7195eeb feat: Implement rating prompt feature across tools
- Added a rating prompt dispatch mechanism to various tools (ChatPdf, PdfFlowchart, QrCodeGenerator, SummarizePdf, TranslatePdf, TableExtractor) to encourage user feedback after tool usage.
- Introduced a new utility for handling rating prompts, including event dispatching and current tool identification.
- Updated the ToolRating component to manage user feedback submission, including UI enhancements and state management.
- Enhanced the sitemap generation script to include new routes for pricing and blog pages.
- Removed hardcoded API key in pdf_ai_service.py for improved security.
- Added a project status report documenting current implementation against the roadmap.
- Updated translations for rating prompts in Arabic, English, and French.
- Ensured consistency in frontend route registry and backend task processing.
2026-03-10 23:52:56 +02:00
Your Name
a14c31c594 الميزات: إضافة صفحات الأسعار والمدونة، وتفعيل ميزة تقييم الأدوات
- إضافة روابط جديدة في تذييل صفحات الأسعار والمدونة.

- إنشاء مكون صفحة الأسعار لعرض تفاصيل الخطط ومقارنة الميزات.

- تطوير مكون صفحة المدونة لعرض منشورات المدونة مع روابط للمقالات الفردية.

- تقديم مكون تقييم الأدوات لتلقي ملاحظات المستخدمين حول الأدوات، بما في ذلك التقييم بالنجوم والتعليقات الاختيارية.

- تفعيل وظيفة useToolRating لجلب وعرض تقييمات الأدوات.

- تحديث أدوات تحسين محركات البحث لتضمين بيانات التقييم في البيانات المنظمة للأدوات.

- تحسين ملفات i18n بترجمات للميزات والصفحات الجديدة.

- دمج إدارة الموافقة على ملفات تعريف الارتباط لتتبع التحليلات.
2026-03-10 15:16:28 +02:00
Your Name
75e11df5fb Add Plausible and Google Site Verification support to environment configuration and update Content Security Policy in Nginx configurations 2026-03-10 12:08:20 +02:00
Your Name
a388b448c8 Add feature flags for editor, OCR, and remove background tools in environment configuration 2026-03-10 12:06:56 +02:00
Your Name
0be708a8d1 Add contributing guidelines, feature flag utilities, and route integrity tests 2026-03-10 10:58:21 +02:00
Your Name
d5e6df42d3 Add Plausible and Google Site Verification support to analytics and environment configuration 2026-03-10 10:47:43 +02:00
Your Name
2d53c8df97 Update OpenRouter model configuration to use stepfun/step-3.5-flash:free across services 2026-03-10 10:38:58 +02:00
Your Name
9990415a51 تحسين خصائص تحسين محركات البحث عبر صفحات ومكونات متعددة، بما في ذلك إضافة البيانات المنظمة، وعلامات OpenGraph، ومكون SEOHead قابل لإعادة الاستخدام. تحديث عملية إنشاء خريطة الموقع لتشمل مسارات جديدة وتحسين ظهور الموقع بشكل عام.---Enhance SEO features across multiple pages and components, including the addition of structured data, OpenGraph tags, and a reusable SEOHead component. Update sitemap generation to include new routes and improve overall site visibility. 2026-03-09 20:56:43 +02:00
Your Name
ce5c85ec7d Add contact, privacy, and terms pages with localization support
- Implemented contact page with form submission functionality and email integration.
- Created privacy and terms pages with structured content and localization.
- Updated English and French localization files to include new strings for contact, privacy, and terms.
- Enhanced About page with detailed sections on mission, technology, security, and tools offered.
2026-03-09 13:24:50 +02:00
Your Name
b9900106b2 Refactor code structure for improved readability and maintainability /SEO Content (3 languages, 32 tools each):
en.json — Full English SEO content added
ar.json — Full Arabic SEO content added
fr.json — Full French SEO content added
2026-03-09 00:07:03 +02:00
Your Name
b5606c2d2d الميزة: إضافة مكونات تحسين محركات البحث لصفحات هبوط الأدوات، بما في ذلك قسم الأسئلة الشائعة وقسم الأدوات ذات الصلة.
- تم تنفيذ مكون قسم الأسئلة الشائعة لعرض الأسئلة المتكررة مع إجابات قابلة للتوسيع.

- تم إنشاء مكون الأدوات ذات الصلة لعرض الأدوات المرتبطة بالأداة الحالية بناءً على بيانات تحسين محركات البحث.

- تم تطوير مكون صفحة هبوط الأدوات لتغليف مكونات الأدوات ببيانات تعريف تحسين محركات البحث، والبيانات المنظمة، والمحتوى الإضافي.

- تم إنشاء إعدادات مركزية لتحسين محركات البحث في ملف seoData.ts لإدارة بيانات تعريف الأدوات، والأسئلة الشائعة، والأدوات ذات الصلة. ----   feat: add SEO components for tool landing pages including FAQ and related tools sections

- Implemented FAQSection component to display frequently asked questions with expandable answers.
- Created RelatedTools component to show tools related to the current tool based on SEO data.
- Developed ToolLandingPage component to wrap tool components with SEO metadata, structured data, and additional content.
- Established central SEO configuration in seoData.ts for managing tool metadata, FAQs, and related tools.
2026-03-08 23:19:41 +02:00