Commit Graph

119 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
cf03d963fc chore: restore build artifacts not meant for commit
Agent-Logs-Url: https://github.com/aborayan2022/SaaS-PDF/sessions/a233a493-2fcf-4025-bd7f-68446c105e28

Co-authored-by: aborayan2022 <119736744+aborayan2022@users.noreply.github.com>
2026-04-02 23:06:47 +00:00
copilot-swe-agent[bot]
dbe9b86867 feat: modern SaaS UI - redesign Hero section and Dropzone widget
- tailwind.config.js: add borderRadius (3xl/4xl), glow box-shadows, smooth transition
- global.css: hero-upload-zone uses rounded-3xl, scale on drag, enhanced hover lift
- HeroUploadZone: UploadCloud icon, group hover animations, rounded-full CTAs, improved layout
- HomePage: animated badge pill, larger heading, improved gradient

Agent-Logs-Url: https://github.com/aborayan2022/SaaS-PDF/sessions/a233a493-2fcf-4025-bd7f-68446c105e28

Co-authored-by: aborayan2022 <119736744+aborayan2022@users.noreply.github.com>
2026-04-02 23:05:46 +00:00
copilot-swe-agent[bot]
9f91e7d0ac Initial plan 2026-04-02 22:55:55 +00:00
Your Name
209fdb6509 Merge branches 'main' and 'main' of https://github.com/aborayan2022/SaaS-PDF 2026-04-03 00:28:13 +02:00
Your Name
efb6854741 chore: add @doist/todoist-ai
dependency to package.json
اول دفعة من التطوير
2026-04-03 00:28:00 +02:00
Ahmed Bakr Ali
5ecaaf86ba Change default PostgreSQL password for development 2026-04-02 21:28:45 +02:00
Ahmed Bakr Ali
fde60163cb Change default PostgreSQL password to a placeholder
Updated the default PostgreSQL password in docker-compose.
2026-04-02 21:27:53 +02:00
Ahmed Bakr Ali
e869ef6110 Set placeholder for GOOGLE_API_KEY
Updated GOOGLE_API_KEY placeholder in .env.example
2026-04-02 21:26:10 +02:00
Ahmed Bakr Ali
af6c13c5f1 Remove hardcoded PostgreSQL password from .env.example
Removed the hardcoded PostgreSQL password from the example file.
2026-04-02 21:23:11 +02:00
Ahmed Bakr Ali
f9e2e5509e Clear GOOGLE_API_KEY in .env.example
Remove sensitive GOOGLE_API_KEY from example file
2026-04-02 21:22:30 +02:00
Your Name
314f847ece fix: Add scrollable container to ToolSelectorModal for small screens
- Add max-h-[90vh] and flex-col to modal content container
- Wrap tools grid in max-h-[50vh] overflow-y-auto container
- Add overscroll-contain for smooth scroll behavior on mobile
- Fixes issue where 21 PDF tools overflow viewport on small screens
2026-04-01 22:22:48 +02:00
Your Name
3e1c0e5f99 perf: Optimize PageSpeed performance score
- Replace 2.2MB social-preview.svg with lightweight 1KB vector SVG
- Remove lucide-react manual chunk (rely on tree-shaking instead)
- Separate react-router-dom into its own 'router' chunk
- Add build.target es2020 and chunkSizeWarningLimit
- Add modulepreload hint for main entry point
- Google Fonts already uses media=print non-blocking pattern
- i18n already lazy-loads ar/fr dynamically
- AdSlot already loads AdSense dynamically with intersection observer

Expected improvement: 34 → 70+ on mobile PageSpeed
2026-04-01 07:58:40 +02:00
Your Name
568446697c Update sitemaps and improve language handling
- Updated last modification dates in static and tools sitemaps to 2026-04-01.
- Enhanced language switching in the Header component to ensure language resources are loaded before changing the language.
- Added language resource loading logic in i18n configuration to support dynamic loading of language files.
- Improved SEO route page to ensure correct language is set based on URL parameters.
- Adjusted global CSS for deferred sections to optimize rendering.
- Configured Nginx to enable Brotli compression for better performance.
2026-04-01 07:25:24 +02:00
Your Name
eb8d6463c5 fix: Fix Decimal serialization in rating_service for PostgreSQL compatibility 2026-04-01 01:25:34 +02:00
Your Name
271674a9c5 feat: Complete admin dashboard overhaul with professional features
- Add Events Timeline tab showing chronological project activity
- Add Create User modal with email, password, plan, role selection
- Add Delete User button with confirmation dialog
- Add Plan and Role management dropdowns per user
- Add event type summary cards with color-coded icons
- Add period selector for events (7d, 14d, 30d, 90d)
- Add i18n translations for all new features (EN + AR)
- Add new API functions: createAdminUser, deleteAdminUser, updateAdminUserPlan, updateAdminUserRole, getProjectEvents
2026-04-01 00:27:27 +02:00
Your Name
c59db300d0 feat: Add admin user management endpoints and project events timeline
- Add create user, delete user, update plan, update role endpoints
- Add project events timeline endpoint for chronological activity view
- Add admin@dociva.io to INTERNAL_ADMIN_EMAILS
- Fix datetime imports in admin routes
2026-03-31 23:59:35 +02:00
Your Name
890adf480a fix: Update PostgreSQL password to strong password and prepare admin user creation 2026-03-31 23:49:23 +02:00
Your Name
33ccb4fde5 feat: Add database stats tab to admin dashboard with PostgreSQL support 2026-03-31 22:58:50 +02:00
Your Name
d4236b0757 fix: Fix stripe_service postgres RealDictCursor row access 2026-03-31 22:36:48 +02:00
Your Name
dac23667df fix: Fix stripe_service.py postgres column check 2026-03-31 22:33:59 +02:00
Your Name
892db08d22 fix: Update stripe_service.py to use database abstraction layer 2026-03-31 22:03:19 +02:00
Your Name
030418f6db feat: Add PostgreSQL support and enhance admin dashboard
- Migrate all service files from hardcoded SQLite to dual SQLite/PostgreSQL support
- Add PostgreSQL service to docker-compose.yml
- Create database abstraction layer (database.py) with execute_query, row_to_dict helpers
- Update all 7 service files: account, rating, contact, ai_cost, quota, site_assistant, admin
- Add new admin endpoint /database-stats for table size and row count visualization
- Add database_type field to system health endpoint
- Update .env.example with proper PostgreSQL connection string
2026-03-31 21:51:45 +02:00
Your Name
42b1ad1250 feat: integrate Google Generative AI as a fallback for OpenRouter in translation and chat services 2026-03-31 19:42:08 +02:00
Your Name
e7fa0730c6 fix: Mount certbot volumes into nginx container for SSL certificates 2026-03-31 18:01:00 +02:00
Your Name
0a6101a784 fix: Add HTTPS configuration with SSL to nginx.dev.conf 2026-03-31 17:57:50 +02:00
Your Name
c2a58ff8f5 feat: add backup and pull script for handling untracked files during git operations 2026-03-30 22:01:10 +02:00
Your Name
6e8cf6f83a feat: harden PDF translation workflow 2026-03-30 14:24:18 +02:00
Ahmed Bakr Ali
499ebe3ce8 Merge pull request #5 from aborayan2022/copilot/vscode-mnbk5p20-roym
[WIP] Add new feature for user dashboard
2026-03-30 10:43:39 +02:00
Ahmed Bakr Ali
d1258cdbd5 Merge branch 'main' into copilot/vscode-mnbk5p20-roym 2026-03-30 10:43:23 +02:00
Ahmed Bakr Ali
db3d32505c Merge pull request #6 from aborayan2022/copilot/fix-typo-in-documentation
[WIP] Fix typo in documentation
2026-03-30 10:39:32 +02:00
Your Name
736d08ef04 feat: enhance SEO capabilities and add All Tools page
- Updated generate-seo-assets script to create separate sitemap files for static, blog, tools, and SEO pages.
- Introduced render-seo-shells script to generate HTML shells for SEO pages with dynamic metadata.
- Added All Tools page with categorized tool listings and SEO metadata.
- Updated routing to include /tools path and linked it in the footer.
- Enhanced SEOHead component to remove unused keywords and improve OpenGraph metadata.
- Updated translations for tools hub in English, Arabic, and French.
- Refactored SEO-related utility functions to support new structured data formats.
2026-03-30 10:31:27 +02:00
Your Name
4ac4bf4e42 refactor: improve app initialization and update rate limiter tests for consistency 2026-03-30 00:12:34 +02:00
Your Name
5ac1d58742 feat: enhance ImagesToPdf component with mobile-friendly file picker and unique file selection logic; update translations for mobile picker guidance 2026-03-29 21:04:34 +02:00
Your Name
f82a77febe Refactor code structure for improved readability and maintainability 2026-03-29 20:17:52 +02:00
copilot-swe-agent[bot]
83bb610f9f Initial plan 2026-03-29 09:41:33 +00:00
Your Name
03c451abe5 feat: add design system with colors, components, and theme configuration
- Introduced a comprehensive color palette in colors.ts, including primary, accent, success, warning, error, info, neutral, slate, and semantic colors for light and dark modes.
- Created a components-registry.ts to manage UI components with metadata, including buttons, inputs, cards, layout, feedback, and navigation components.
- Developed a theme.ts file to centralize typography, spacing, border radius, shadows, z-index, transitions, breakpoints, containers, and responsive utilities.
- Configured Nginx for development with a new nginx.dev.conf, routing API requests to the Flask backend and frontend requests to the Vite development server.
2026-03-29 11:39:08 +02:00
Your Name
e717c4c446 Checkpoint from VS Code for cloud agent session 2026-03-29 11:29:52 +02:00
Your Name
bc8a5dc290 Refactor configuration handling and improve error management across services; normalize placeholder values for SMTP and Stripe configurations; enhance local storage fallback logic in StorageService; add tests for new behaviors and edge cases. 2026-03-26 14:15:10 +02:00
Your Name
688d411537 Update OpenRouter API key in .env.example for proper integration 2026-03-25 17:20:32 +02:00
Your Name
aa3420281c أعد هيكلة منطق استطلاع المهام للتعامل مع حمولات الأخطاء المنظمة وتحسين رسائل الخطأ 2026-03-25 16:51:38 +02:00
Your Name
14743c6cfe Fix frontend test setup and refresh docs 2026-03-25 04:32:04 +02:00
Your Name
6489ce2735 Remove redundant script tags from index.html for cleaner code 2026-03-25 03:28:21 +02:00
Your Name
a6877c6dd7 Enhance UI components and styles for better performance and accessibility
- Added a fixed minimum height to the AdSlot component to reduce Cumulative Layout Shift (CLS) and adjusted styles for better layout consistency.
- Specified width and height attributes for the Barcode and QR Code images to improve rendering performance and maintain aspect ratios.
- Introduced font-face declarations in global CSS for 'Inter' and 'Tajawal' fonts with 'swap' display to optimize font loading and reduce CLS.
2026-03-25 03:08:19 +02:00
Ahmed Bakr Ali
d87f7dba8d Merge pull request #4 from aborayan2022/codex/update-task-status-error-structure
Unify task status error schema and classify PDF AI failures
2026-03-24 23:33:42 +02:00
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