feat: add slider feature

This commit is contained in:
2025-09-25 08:40:08 +03:30
parent f85d0317a2
commit 0b52638e7d
5 changed files with 134 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Slider;
class SliderController extends Controller
{
public function index()
{
return response()->json([
'data' => Slider::all()
]);
}
}
+10
View File
@@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Slider extends Model
{
protected $fillable = ['title', 'description', 'url'];
}
@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('sliders', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('description')->nullable();
$table->string('url')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('sliders');
}
};
+72
View File
@@ -0,0 +1,72 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\Slider;
class SliderSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run()
{
$sliders = [
[
'title' => '💨 نفس عمیق با آرام‌لند!',
'description' => 'تمرین تنفس‌هامون مثل یه دکمه ریست برای مغزه! هرجا خسته‌ای یا استرس داری، فقط وارد اپ شو و چند دم و بازدم عمیق با ما تمرین کن.',
'url' => null,
],
[
'title' => '✨ ساخت الگوی تنفس مخصوص خودت',
'description' => 'می‌خوای تمرین تنفس خودتو داشته باشی؟ با آرام‌لند می‌تونی الگوی دلخواهت رو طراحی کنی و هر وقت خواستی اجراش کنی!',
'url' => null,
],
[
'title' => '🤖 مشاوره با هوش مصنوعی!',
'description' => 'حس می‌کنی نیاز به راهنمایی داری؟ توی آرام‌لند یه مشاور هوش مصنوعی همیشه آماده‌ست تا بهت کمک کنه آروم‌تر زندگی کنی.',
'url' => null,
],
[
'title' => '💬 چت نامحدود با خرید اشتراک',
'description' => 'دوست داری همیشه یه همدم داشته باشی؟ با خرید اشتراک، می‌تونی نامحدود با هوش مصنوعی آرام‌لند چت کنی و هر سوالی داری بپرسی!',
'url' => null,
],
[
'title' => '🎯 اضافه کردن الگوهای نامحدود',
'description' => 'با اشتراک آرام‌لند محدودیت نداری! هرچقدر بخوای می‌تونی الگوی تمرین تنفس بسازی و برای موقعیت‌های مختلف ذخیره کنی.',
'url' => null,
],
[
'title' => '🔥 مدیتیشن؛ کلید آرامش ذهن',
'description' => 'مدیتیشن توی آرام‌لند یعنی رهایی از استرس فقط در چند دقیقه. بذار ذهنت نفس بکشه و آرامش رو تجربه کن.',
'url' => null,
],
[
'title' => '📦 جعبه نگرانی؛ پرتاب استرس بیرون!',
'description' => 'نگرانی‌هاتو توی جعبه خیالی آرام‌لند بریز و ذهنتو سبک کن. یه تکنیک ساده ولی فوق‌العاده کاربردی!',
'url' => null,
],
[
'title' => '🎶 موزیک آرام‌بخش اختصاصی',
'description' => 'آرام‌لند برات پلی‌لیستای مخصوص حال خوب آماده کرده. فقط پلی کن و بذار موزیک ذهنتو ماساژ بده.',
'url' => null,
],
[
'title' => '🚀 تمرین ۵ دقیقه‌ای شکرگزاری',
'description' => 'هر روز فقط ۵ دقیقه! سه چیز خوب زندگیتو یادداشت کن و ببین چطور حس و حال مثبتت چند برابر میشه.',
'url' => null,
],
[
'title' => '🌙 خواب راحت با آرام‌لند',
'description' => 'با تمرینات تنفس قبل خواب، راحت‌تر می‌خوابی و صبح سرحال‌تر بیدار می‌شی. خواب شیرین یعنی زندگی شیرین!',
'url' => null,
],
];
foreach ($sliders as $slider) {
Slider::create($slider);
}
}
}
+6
View File
@@ -11,6 +11,7 @@
use App\Http\Controllers\WorryController;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\QuestionController;
use App\Http\Controllers\SliderController;
Route::get('/test-hash', function() {
$plain = 'amnk1380';
@@ -102,4 +103,9 @@
Route::put('/questions/{question}', [QuestionController::class, 'update']);
Route::delete('/questions/{question}', [QuestionController::class, 'destroy']);
/// slider feature
Route::get('/slider', [SliderController::class, 'index']);
});