A modern, lightweight project management system built with Laravel and Filament, featuring Kanban boards, task tracking, and team collaboration tools.
- ✅ User authentication and authorization
- ✅ Role-based access control (Admin, User)
- ✅ User profile management
- ✅ Multi-language support (English, Arabic)
- ✅ Dark mode support
- ✅ Responsive design for mobile and desktop
- ✅ Create, edit, and delete projects
- ✅ Project dashboard with statistics
- ✅ Project ownership and team assignment
- ✅ Create, edit, and delete tasks
- ✅ Task status management (To Do, In Progress, Done, etc.)
- ✅ Kanban board view with drag-and-drop
- ✅ Task assignment to multiple users
- ✅ Due dates and time tracking
- ✅ Task descriptions and inline editing
- ✅ Comments on tasks
- ✅ File attachments (upload and download)
- ✅ Activity logging with detailed tracking
- ✅ Real-time activity feed
- ✅ Search functionality for tasks and projects
- ✅ Polymorphic comments, attachments, and activities
- ✅ Task filtering (All tasks, My tasks, My project tasks)
- ✅ Comprehensive activity tracking (status changes, attachments, comments, etc.)
- Backend: Laravel 12.x
- Admin Panel: Filament 4.x
- Database: MariaDB/MySQL
- PHP: 8.2+
- Authentication: Filament Shield (Role & Permission)
- Frontend: Livewire, Alpine.js, Tailwind CSS
- PHP >= 8.2
- Composer
- Node.js & NPM
- MariaDB/MySQL
- Git
- Clone the repository
git clone <repository-url>
cd mini-pms- Install PHP dependencies
composer install- Install Node dependencies
npm install- Environment setup
cp .env.example .env
php artisan key:generate- Configure database
Edit
.envfile:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mini_pms
DB_USERNAME=your_username
DB_PASSWORD=your_password- Run migrations and seeders
php artisan migrate --seed- Create Filament admin user
php artisan make:filament-user- Create storage link
php artisan storage:link- Build assets
npm run build- Start the development server
php artisan serve- Access the application
- URL:
http://localhost:8000/admin - Login with the credentials you created in step 7
MIT License
نظام إدارة مشاريع حديث وخفيف مبني على Laravel و Filament، يتميز بلوحات كانبان وتتبع المهام وأدوات التعاون الجماعي.
- ✅ مصادقة وتفويض المستخدمين
- ✅ التحكم في الوصول على أساس الأدوار (مشرف، مستخدم)
- ✅ إدارة ملف المستخدم
- ✅ دعم متعدد اللغات (الإنجليزية، العربية)
- ✅ دعم الوضع الداكن
- ✅ تصميم متجاوب للهاتف المحمول وسطح المكتب
- ✅ إنشاء وتعديل وحذف المشاريع
- ✅ لوحة معلومات المشروع مع الإحصائيات
- ✅ ملكية المشروع وتعيين الفريق
- ✅ إنشاء وتعديل وحذف المهام
- ✅ إدارة حالة المهام (قيد الانتظار، قيد التنفيذ، مكتمل، إلخ)
- ✅ عرض لوحة كانبان مع السحب والإفلات
- ✅ تعيين المهام لعدة مستخدمين
- ✅ تواريخ الاستحقاق وتتبع الوقت
- ✅ أوصاف المهام والتحرير المباشر
- ✅ التعليقات على المهام
- ✅ مرفقات الملفات (رفع وتحميل)
- ✅ تسجيل النشاط مع التتبع التفصيلي
- ✅ موجز النشاط في الوقت الفعلي
- ✅ وظيفة البحث عن المهام والمشاريع
- ✅ تعليقات ومرفقات وأنشطة متعددة الأشكال
- ✅ تصفية المهام (جميع المهام، مهامي، مهام مشاريعي)
- ✅ تتبع شامل للنشاط (تغييرات الحالة، المرفقات، التعليقات، إلخ)
- الخلفية: Laravel 12.x
- لوحة الإدارة: Filament 4.x
- قاعدة البيانات: MariaDB/MySQL
- PHP: 8.2+
- المصادقة: Filament Shield (الأدوار والصلاحيات)
- الواجهة الأمامية: Livewire, Alpine.js, Tailwind CSS
- PHP >= 8.2
- Composer
- Node.js & NPM
- MariaDB/MySQL
- Git
- استنساخ المستودع
git clone <repository-url>
cd mini-pms- تثبيت اعتماديات PHP
composer install- تثبيت اعتماديات Node
npm install- إعداد البيئة
cp .env.example .env
php artisan key:generate- تكوين قاعدة البيانات
تحرير ملف
.env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mini_pms
DB_USERNAME=your_username
DB_PASSWORD=your_password- تشغيل الترحيلات والبذور
php artisan migrate --seed- إنشاء مستخدم مشرف Filament
php artisan make:filament-user- إنشاء رابط التخزين
php artisan storage:link- بناء الأصول
npm run build- بدء خادم التطوير
php artisan serve- الوصول إلى التطبيق
- الرابط:
http://localhost:8000/admin - قم بتسجيل الدخول باستخدام بيانات الاعتماد التي أنشأتها في الخطوة 7
رخصة MIT
Contributions are welcome! Please feel free to submit a Pull Request.
For questions or support, please open an issue on GitHub.