- Add SendSmsMessage class for encapsulating SMS message data. - Create KavehNegarProvider and RanginehProvider classes implementing SmsProviderInterface for sending SMS. - Implement SmsLogRepository and SmsTemplateRepository for managing SMS logs and templates. - Develop SendSmsHandler for handling SMS sending messages. - Create SmsService to manage SMS dispatching and logging. - Add UserProfileController for managing user profiles with CRUD operations. - Implement UserProfile entity and repository for user profile data management. - Update symfony.lock and bootstrap.php for project dependencies and environment setup.
1.9 KiB
1.9 KiB
تسک ۰۴: ماژول بلاگ
توضیح
پیادهسازی سیستم مدیریت مقالات (بلاگ) شامل ایجاد، ویرایش، حذف، نمایش لیست، بلاگهای برتر و آپلود تصویر.
Endpoint ها
| متد | مسیر | توضیح | نیاز به Auth |
|---|---|---|---|
| POST | /api/v1/blog/ |
ایجاد بلاگ جدید | بله (Admin/Doctor) |
| PATCH | /api/v1/blog/{uuid} |
ویرایش بلاگ | بله (Owner/Admin) |
| DELETE | /api/v1/blog/{uuid} |
حذف بلاگ | بله (Owner/Admin) |
| GET | /api/v1/blog/{uuid} |
دریافت یک بلاگ | خیر |
| GET | /api/v1/blogs |
لیست بلاگها (با pagination) | خیر |
| GET | /api/v1/blogs/top |
بلاگهای برتر | خیر |
| POST | /api/v1/blog/image |
آپلود تصویر بلاگ | بله |
پیشنیازها
- تسک ۰۱ و ۰۲
خروجیهای مورد انتظار
- CRUD کامل برای بلاگ
- pagination در لیست
- آپلود و ذخیره تصویر
- بلاگهای برتر (براساس بازدید یا لایک)
- slug برای SEO
زمان تخمینی
۶ تا ۸ ساعت
نمونه Request/Response
POST /api/v1/blog/
// Request
{
"title": "راهنمای کامل دیابت",
"body": "<p>محتوای مقاله...</p>",
"summary": "خلاصه مقاله",
"tags": [1, 2, 3],
"status": "published",
"image_uuid": "abc-..."
}
// Response 201
{
"data": {
"uuid": "72522a1d-...",
"title": "راهنمای کامل دیابت",
"slug": "rahnamai-kamel-diabet",
"status": "published",
"created_at": "2024-01-01T00:00:00Z"
}
}
GET /api/v1/blogs
Query params: page=1&limit=10&category=1&tag=2
GET /api/v1/blogs/top
// Response
{
"data": [
{ "uuid": "...", "title": "...", "views": 1250, "image": "..." }
]
}