Spaces:
Sleeping
Sleeping
Commit History
-
Fix: Public settings API + Save button + Navbar shows site name/logo
72e4865 -
Fix: Increase login rate limit to 20 attempts
87a681d -
Feat: Auto-save settings + site name/logo in navbar
01a88ec -
Feat: Simplify settings + make section toggles work
bc70c69
-
Feat: Store images as base64 in database for persistence
3196722 -
Fix: Remove binary files and add to gitignore
f7c39f0 -
Fix: Use persistent /data/uploads directory for Hugging Face
70b46f4
-
Fix: Remove sticky save button from contacts page
c2984ee -
Feat: Redesign contacts page like settings page
84e47cd -
Feat: Contacts form with manual save instead of auto-save
8243dcb -
Fix: Add default values for new bilingual columns
9f2ff7d -
Feat: Pre-fill login form with default credentials
6362f76 -
Feat: Bilingual Hero and About sections (EN/AR fields in admin + auto language switch)
968674c -
Fix: Case-insensitive RBAC + relaxed upload validation + seed role uppercase
1bc01b8 -
Fix: Project card skeleton matching new card design with logo circle
7a6a641 -
Redesign: Project card with circular logo, tech tags, better layout
ff51fa2 -
Fix: Remove Helmet entirely, use manual security headers without frame-ancestors
aa719f8 -
Fix: Disable CSP and crossOriginEmbedderPolicy for Hugging Face iframe
be69037 -
Fix: Enable trust proxy for Hugging Face reverse proxy
d1d1b9a -
Fix: Keep devDependencies for prisma seed ts-node
f907bb1 -
Production-ready: Security hardening, RBAC, logging, audit, DB indexes, compression
Phase 1 - Security: - Helmet security headers with CSP - Rate limiting (global/login/API) - CORS with env-based config - Secure file upload (block SVG, MIME validation) - Environment validation at startup Phase 2 - RBAC: - Role-based authorization (SUPER_ADMIN/ADMIN/MANAGER/STAFF/USER) - Mutation routes protected with authorize middleware - GET routes remain public Phase 5 - Observability: - Structured logger (JSON/colored) - Request logging with correlation IDs - Failed login attempt tracking - Audit log model and utility Phase 6 - Database: - Added indexes on Project, Skill, Contact, Analytics - AuditLog model for change tracking - Prisma schema optimization Phase 7 - Docker: - Production Dockerfile with --omit=dev - Compression middleware - Health check endpoints (/health, /health/database, /health/storage)9f5a703
-
Fix: Bigger hero profile image w-32 to w-40
6ab062f -
Redesign: Project modal with modern gradient style
a55b87b -
Fix: Single server - backend serves frontend directly, no proxy
83e9b3c -
Fix: CORS any origin + bigger project images + cookie session
b1f9ca8 -
Fix: Relative upload URLs + cookie sameSite lax for proxy
d26af29 -
Fix: Use prisma db push + seed on startup
f765881 -
Fix: Install openssl explicitly for Prisma
b9686c0 -
Fix: Preserve /api prefix in proxy pathRewrite
4de7cc1 -
Fix: Use node:20-bullseye for libssl1.1 compatibility
35247dd -
Fix: Use node:20-slim for Prisma + fix uploads path
ad3660e -
Fix: Use relative /api URL instead of localhost:5000
0e0182d -
Fix: Add OpenSSL for Prisma + fix Express wildcard route
4bbf6c8 -
Fix: Create uploads dir instead of copying empty folder
1b54aa3 -
Fix: Add prisma migrate deploy to start.js
eb06c64 -
Initial commit
moustafa781d1e4c