Migrate backend to Porto architecture and fix minor bugs

- Fully transitioned the backend to the Porto architectural pattern
- Improved code organization and maintainability
- Fixed minor bugs and inconsistencies
This commit is contained in:
F4ilji
2025-05-12 08:47:43 +05:00
parent 76deaf75f3
commit c01016a154
620 changed files with 16218 additions and 6073 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
namespace Database\Factories;
use App\Models\Faculty;
use App\Containers\InstituteStructure\Models\Faculty;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
@@ -0,0 +1,21 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
class EducationalGroupFactory extends Factory
{
public function definition(): array
{
return [
'title' => $this->faker->words(3, true),
'faculty_id' => \App\Models\Faculty::factory(),
'education_form_id' => $this->faker->numberBetween(1, 3),
'created_at' => $this->faker->dateTimeBetween('-1 year', 'now'),
'updated_at' => $this->faker->dateTimeBetween('-1 year', 'now'),
];
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
namespace Database\Factories;
use App\Models\EventCategory;
use App\Containers\Event\Models\EventCategory;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
+1
View File
@@ -35,6 +35,7 @@ class FacultyFactory extends Factory
'slug' => $slug,
'content' => $content,
'abbreviation' => $abbreviation,
'is_active' => $this->faker->boolean(100),
'created_at' => now(),
'updated_at' => now(),
];
+4 -6
View File
@@ -2,15 +2,12 @@
namespace Database\Factories;
use App\Enums\PostStatus;
use App\Models\Category;
use App\Models\User;
use App\Containers\Article\Enums\PostStatus;
use App\Containers\Article\Models\Category;
use App\Containers\User\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Post>
*/
class PostFactory extends Factory
{
/**
@@ -54,6 +51,7 @@ class PostFactory extends Factory
'status' => $status,
'authors' => $authors,
'images' => $images,
'preview' => null,
'search_data' => $search_data,
'reading_time' => $reading_time,
'category_id' => $category_id,
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
class ScheduleFactory extends Factory
{
public function definition(): array
{
$fileName = $this->faker->unique()->word . '.pdf';
return [
'file' => [
[
'title' => $this->faker->randomElement(['Обычное', 'Основное', 'Дополнительное', 'Экзаменационное']),
'path' => 'schedules/' . $this->faker->slug . '-' . time() . '.pdf'
]
],
'educational_group_id' => \App\Models\EducationalGroup::factory(),
'created_at' => $this->faker->dateTimeBetween('-6 months', 'now'),
'updated_at' => $this->faker->dateTimeBetween('-6 months', 'now'),
];
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
namespace Database\Factories;
use App\Models\User;
use App\Containers\User\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
/**