تطبيق إدارة مهام (Task Manager) مبني بأسلوب Microservices ومُحزَّم بالكامل باستخدام Docker، يهدف إلى تقديم مثال عملي لتطبيق ويب حديث قابل للتوسع وقابل للنشر بسهولة في بيئات الإنتاج.
يعتمد المشروع على بنية Full Stack Containerized Architecture تتكون من عدة خدمات تعمل معًا داخل شبكة Docker واحدة، وتشمل:
Nginx كـ Reverse Proxy و Load Balancer مع دعم HTTPS
Flask لتطوير REST API (نسختان من التطبيق لتحقيق التوازن في الأحمال)
PostgreSQL كقاعدة بيانات رئيسية
Redis لتخزين الكاش وتحسين الأداء
Docker Compose لإدارة وتشغيل جميع الخدمات بسهولة
تم تصميم التطبيق بحيث يعكس أفضل الممارسات في بناء التطبيقات الحديثة، مثل العزل بين الخدمات، استخدام الكاش، وتأمين الاتصالات عبر SSL.
أهم مميزات المشروع
تشغيل التطبيق بالكامل باستخدام أمر واحد عبر Docker Compose
موازنة الأحمال (Load Balancing) بين نسختين من تطبيق Flask
تسريع الاستجابة باستخدام Redis Cache
قاعدة بيانات PostgreSQL مع مخطط جاهز وبيانات تجريبية
دعم HTTPS مع شهادة SSL
نظام Health Checks لضمان جاهزية الخدمات
تطبيق REST API بسيط لإدارة المهام (إضافة – عرض – إكمال)
التقنيات المستخدمة
Docker
Docker Compose
Nginx
Python Flask
PostgreSQL
Redis
Gunicorn