تطوير الواجهات الخلفية
تعلم كيفية بناء خوادم قوية وقابلة للتوسع باستخدام JavaScript و Node.js. هذا المسار يغطي الأساسيات، قواعد البيانات، المصادقة، NestJS، والمشاريع العملية.
JavaScript Foundation
ما هذا؟
JavaScript هي لغة البرمجة الأساسية لتطوير الواجهات الخلفية باستخدام Node.js. يجب إتقان أساسيات JavaScript قبل البدء في تعلم Node.js.
المواضيع المغطاة
• Variables (var, let, const)
• Data Types (String, Number, Boolean, Object, Array)
• Functions (declaration, expression, arrow)
• Scope (global, function, block)
• Closures
• Async Programming (Callbacks, Promises, Async/Await)
Node.js Core
ما هذا؟
Node.js هي بيئة تشغيل JavaScript تعتمد على محرك V8 من Google. تسمح بتشغيل JavaScript على الخادم (Server-side).
المواضيع المغطاة
• Runtime Concept و Node Architecture
• Event Loop (كيف يعمل Node.js)
• Modules (CommonJS vs ES Modules)
• Built-in Modules (fs, path, http, os)
• File System (قراءة وكتابة الملفات)
• Streams and Buffers
• Error Handling and Debugging
مصادر التعلم
مشروع 1: CLI Tool / File System App
فكرة المشروع
أداة سطر أوامر (CLI) لإدارة الملفات
قم ببناء تطبيق سطر أوامر يتعامل مع نظام الملفات.
المتطلبات
• قراءة وكتابة الملفات باستخدام fs module
• إنشاء وحذف المجلدات
• معالجة مسارات الملفات باستخدام path module
• استقبال المدخلات من سطر الأوامر (process.argv)
• عرض المساعدة (--help)
Networking & Backend Basics
ما هذا؟
فهم أساسيات الشبكات والخوادم هو أساس بناء واجهات خلفية قوية. يجب فهم كيفية عمل HTTP، تصميم APIs، وآليات الأمان الأساسية.
المواضيع المغطاة
• HTTP Protocol (Methods, Status Codes, Headers)
• REST API Design Principles
• Cookies vs Tokens
• Sessions Management
• CORS (Cross-Origin Resource Sharing)
• HTTPS and Security Basics
مصادر التعلم
Express.js
ما هذا؟
Express.js هو إطار عمل (Framework) خفيف وسريع لبناء تطبيقات الويب و APIs باستخدام Node.js. يعتبر المعيار الصناعي لتطوير الواجهات الخلفية.
المواضيع المغطاة
• Setting up Express server
• Routing (GET, POST, PUT, DELETE)
• Middleware (built-in, custom, third-party)
• Request and Response objects
• Error Handling Middleware
• Static Files Serving
• REST API Structure
مصادر التعلم
مشروع 2: CRUD API
فكرة المشروع
API كاملة لعمليات CRUD (بدون قاعدة بيانات)
قم ببناء API باستخدام Express.js يدير بيانات في الذاكرة (In-memory storage).
المتطلبات
• Create (POST) - إضافة عنصر جديد
• Read (GET) - قراءة عنصر أو جميع العناصر
• Update (PUT/PATCH) - تحديث عنصر
• Delete (DELETE) - حذف عنصر
• Validation (التحقق من صحة البيانات)
• Proper Status Codes
Databases
ما هذا؟
قواعد البيانات (Databases) هي مكان تخزين البيانات بشكل دائم. هناك نوعان رئيسيان: SQL (علائقية) و NoSQL (غير علائقية).
المواضيع المغطاة
• Data Modeling (تصميم البيانات)
• SQL Basics (PostgreSQL / MySQL)
• NoSQL Basics (MongoDB)
• ORM (Prisma with PostgreSQL)
• ODM (Mongoose with MongoDB)
• Database Relationships (One-to-One, One-to-Many, Many-to-Many)
مشروع 3: API + Database Integration
فكرة المشروع
دمج API مع قاعدة بيانات حقيقية
قم بتطوير API متكامل يتعامل مع قاعدة بيانات (PostgreSQL أو MongoDB).
المتطلبات
• تصميم قاعدة بيانات (Schema)
• إنشاء Models باستخدام Prisma أو Mongoose
• تنفيذ عمليات CRUD على قاعدة البيانات
• استخدام Environmental Variables للمتغيرات الحساسة
• معالجة أخطاء قاعدة البيانات
Authentication & Security
ما هذا؟
المصادقة (Authentication) هي عملية التحقق من هوية المستخدم. الأمان (Security) هو حماية البيانات من الوصول غير المصرح به.
المواضيع المغطاة
• Password Hashing (bcrypt)
• JWT (JSON Web Tokens)
• Authentication Middleware
• Authorization (Roles: admin, user, moderator)
• Rate Limiting
• Helmet.js (Security Headers)
• Input Sanitization
مصادر التعلم
مشروع 4: Auth System (Login / Signup)
فكرة المشروع
نظام مصادقة كامل
قم ببناء نظام تسجيل دخول وتسجيل مستخدمين كامل مع حماية المسارات.
المتطلبات
• Signup (تسجيل مستخدم جديد مع تشفير كلمة المرور)
• Login (تسجيل دخول وإصدار JWT)
• Protected Routes (مسارات محمية)
• Role-Based Access Control
• Logout (تسجيل خروج)
• Refresh Tokens (اختياري)
Advanced Backend
المواضيع المغطاة
• Validation (Joi / Zod / class-validator)
• Error Handling (Global error handler)
• Logging (Winston / Morgan)
• API Architecture (MVC pattern)
• Environment Configuration
• Rate Limiting & Security
Advanced Node.js
المواضيع المغطاة
• Event Loop Deep Dive (مراحل الحلقة)
• Microtasks vs Macrotasks
• Cluster Module (استخدام عدة أنوية)
• Worker Threads (معالجة متوازية)
• Performance Optimization
• Memory Management and Leaks
• Profiling and Debugging
Testing
المواضيع المغطاة
• Unit Testing باستخدام Jest
• API Testing باستخدام Supertest
• Mocking Dependencies
• Test Coverage
• Integration Testing
• End-to-End Testing
Deployment & DevOps
المواضيع المغطاة
• Environment Variables (.env)
• PM2 for Process Management
• Docker Basics (Containerization)
• Docker Compose (Multi-container apps)
• CI/CD Basics (GitHub Actions)
• Deployment Platforms (Render, Railway, AWS, DigitalOcean)
System Design Basics
المواضيع المغطاة
• Scalability (Horizontal vs Vertical)
• Caching Strategies (Redis, CDN)
• Load Balancing
• Database Scaling (Sharding, Replication)
• Message Queues (RabbitMQ, Kafka)
• CAP Theorem
• Microservices vs Monolithic
مصادر التعلم
NestJS (Professional Layer)
ما هذا؟
NestJS هو إطار عمل (Framework) متقدم لتطوير تطبيقات Node.js يعتمد على TypeScript ويستخدم بنية مشابهة لـ Angular (Modules, Controllers, Services).
المواضيع المغطاة
• Modules (تجميع الميزات)
• Controllers (معالجة الطلبات)
• Services (منطق الأعمال)
• Dependency Injection (حقن الاعتماديات)
• Guards (حماية المسارات)
• Pipes (تحقق وتحويل البيانات)
• Interceptors
• Authentication & Authorization in NestJS
مصادر التعلم
Final Project 🔥: Production Backend
فكرة المشروع
نظام خلفي متكامل جاهز للإنتاج (Production-Ready Backend)
قم ببناء API كامل باستخدام جميع المفاهيم التي تعلمتها.
المتطلبات التقنية
• REST API (Express أو NestJS)
• Authentication & Authorization (JWT)
• Database Integration (PostgreSQL + Prisma / MongoDB + Mongoose)
• Validation & Error Handling
• Logging
• Testing (Unit + Integration)
• Docker Containerization
• Environment Configuration
• Documentation (Swagger / Postman)
• Deployment (Render / Railway / AWS)
أفكار للمشروع
• E-commerce API (منتج إلكتروني كامل)
• Social Media API (منصة تواصل اجتماعي)
• Task Management API (نظام إدارة مهام)
• Blog Platform API (منصة تدوين)
• Booking System API (نظام حجوزات)