تم إنشاء منصة سوق حر عربية متكاملة للخدمات الإبداعية في المملكة العربية السعودية.
- Backend API (NestJS): نظام كامل مع Auth, Prisma, Health Check
- Frontend (Next.js 14): واجهة عربية RTL
- Database Schema: Prisma مع جميع الجداول المطلوبة
- Docker Setup: PostgreSQL + Redis + Mailhog
- Shared Packages: Types & Config مشتركة
# تحقق من التثبيت
node --version # v18+
pnpm --version # 8+
docker --version # للبنية التحتيةpnpm installdocker compose -f docker-compose.dev.yml up -d
# تحقق من التشغيل
docker compose -f docker-compose.dev.yml ps# توليد Prisma Client
pnpm prisma:generate
# تشغيل Migrations
pnpm prisma:migrate
# ملء البيانات الأولية
pnpm prisma:seed# تشغيل API + Web معاً
pnpm devأو بشكل منفصل:
# Terminal 1: API
pnpm --filter @creativehub/api dev
# Terminal 2: Web
pnpm --filter @creativehub/web devبعد التشغيل:
- Web App: http://localhost:3000
- API: http://localhost:4000/api
- Health Check: http://localhost:4000/api/health
- Mailhog UI: http://localhost:8025
- Prisma Studio:
pnpm prisma:studio
بعد تشغيل seed:
- Email:
admin@creativehub.sa - Password:
Admin@123
- Email:
provider@test.sa - Password:
Provider@123
- Email:
client@test.sa - Password:
Client@123
creativehub-ksa/
├── apps/
│ ├── api/ # NestJS Backend
│ │ ├── src/
│ │ │ ├── auth/
│ │ │ ├── prisma/
│ │ │ ├── health/
│ │ │ └── main.ts
│ │ └── prisma/
│ │ ├── schema.prisma
│ │ └── seed.ts
│ └── web/ # Next.js Frontend
│ ├── app/
│ │ ├── layout.tsx
│ │ └── page.tsx
│ └── lib/
├── packages/
│ ├── shared-types/ # TypeScript Types
│ └── shared-config/ # Shared Config
├── docker-compose.dev.yml
├── .env
└── package.json
# تشغيل وضع التطوير
pnpm dev
# Type checking
pnpm typecheck
# Linting
pnpm lint
# Build للإنتاج
pnpm build# Prisma Studio (واجهة قاعدة البيانات)
pnpm prisma:studio
# إنشاء migration جديد
pnpm --filter @creativehub/api prisma:migrate:dev --name migration_name
# إعادة تعيين قاعدة البيانات
pnpm --filter @creativehub/api prisma migrate reset# إيقاف الخدمات
docker compose -f docker-compose.dev.yml down
# عرض اللوج
docker compose -f docker-compose.dev.yml logs -f
# إعادة التشغيل
docker compose -f docker-compose.dev.yml restart# Register
curl -X POST http://localhost:4000/api/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "test@example.com",
"password": "Test@123",
"name": "Test User",
"role": "CLIENT"
}'
# Login
curl -X POST http://localhost:4000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "client@test.sa",
"password": "Client@123"
}'
# Get Current User
curl http://localhost:4000/api/auth/me \
-H "Authorization: Bearer YOUR_TOKEN"curl http://localhost:4000/api/health# تحقق من تشغيل PostgreSQL
docker compose -f docker-compose.dev.yml ps
# عرض لوج PostgreSQL
docker compose -f docker-compose.dev.yml logs postgres
# إعادة تشغيل
docker compose -f docker-compose.dev.yml restart postgres# إعادة توليد Client
pnpm prisma:generate
# التحقق من Schema
pnpm --filter @creativehub/api prisma validate
# عرض Database Schema
pnpm --filter @creativehub/api prisma db pull# تنظيف وإعادة التثبيت
pnpm clean
rm -rf node_modules
pnpm install- ✅ Authentication & Authorization (JWT)
- ✅ Prisma ORM مع PostgreSQL
- ✅ RBAC (Client, Provider, Admin)
- ✅ Health Check Endpoint
- ✅ Rate Limiting & Security (Helmet)
- ✅ CORS Configuration
- ✅ Environment Variables Validation
- ✅ Arabic RTL Support
- ✅ Next.js 14 App Router
- ✅ Tailwind CSS
- ✅ TypeScript Strict Mode
- ✅ Responsive Design
- ✅ Complete Schema للنظام
- ✅ Relations & Indexes
- ✅ Seed Data مع حسابات تجريبية
- ✅ Migrations Ready
الملفات جاهزة للإضافات التالية:
- Payments Module (Tap, Moyasar, Stripe)
- Chat System (WebSocket)
- Wallet & Transactions
- Orders Management
- Reviews & Ratings
- Admin Dashboard
- Search & Filters
- Email Notifications
- File Upload (GCS)
- Invoice Generation (PDF)
- JWT Authentication
- Password Hashing (bcrypt)
- CORS Configuration
- Helmet Security Headers
- Rate Limiting
- Input Validation
- Role-Based Access Control
تأكد من وجود .env في المجلد الرئيسي:
DATABASE_URL="postgresql://creativehub:dev_password@localhost:5432/creativehub_dev"
REDIS_URL="redis://localhost:6379"
JWT_SECRET="your-secret-key"
JWT_REFRESH_SECRET="your-refresh-secret"
NODE_ENV="development"
PORT=4000للنشر على الإنتاج، راجع:
infra/gcp/للنشر على Google Cloudinfra/Dockerfile.apiوinfra/Dockerfile.web.github/workflows/للـ CI/CD
للمساعدة:
- Technical: dev@creativehub.sa
- Business: info@creativehub.sa
Proprietary - All Rights Reserved © 2025 CreativeHub KSA
- شغل المشروع:
pnpm dev - افتح المتصفح على: http://localhost:3000
- جرب تسجيل الدخول بالحسابات التجريبية
- استكشف API على: http://localhost:4000/api
المشروع جاهز 100% للتطوير! 🚀🇸🇦