[Project Overview]
- Project Name: mutunet
- Local Path: E:\xampp\htdocs\mutunet
- Development Environment: Windows / XAMPP (PHP 8.2.12) / Pleiades (Eclipse)
- Key Technologies: Laravel 10.x, htmx (1.9.12), SortableJS, MariaDB 10.4.32 (Deployment Target: MySQL 5.7)
[Development & Architecture Rules]
1. Directory & View Naming Rules
- Full Screens:
resources/views/{Controller}/{Action}.blade.php - htmx Partials:
resources/views/{Controller}/partials/{Action}.blade.php
2. Template (Blade) Writing Rules
- Inherit the parent layout (
layouts/app.blade.php) using@extendsand@sectionfor the outer framework. - Do not use Blade directives (
@if,@foreach, etc.) for conditional branching or loops; strictly use standard<?php ... ?>control structures. - To prevent XSS, use
<?php echo e($var); ?>or<?= e($var); ?>when outputting variables.
3. Routing Rules
- Keep routing files separate for each controller.
- Storage Location:
routes/controllers/ - File Naming Convention:
routes{controller_name}.php(e.g.,routesTestTutorialPostController.php) web.phpMaintenance: Whenever a new controller is added, appendrequire __DIR__ . '/controllers/routes...php';.- Always include
use Illuminate\Support\Facades\Route;at the beginning of each split routing file. - URL Naming Convention:
/{controller_name (kebab-case)}/{action_name (camelCase as-is)}
(e.g.,/test-tutorial/posts/reorderUpdate)
[Current Progress]
- Infinite Scrolling: Implementation and testing of the dynamic pagination process—combining htmx (
revealed/intersect) with Laravel’surl()helper—are complete. - Sorting Functionality (SortableJS × htmx): Migrations (adding the
sort_ordercolumn), controller implementation, and routing reorganization are complete; we are now ready to move on to verifying and fully implementing the sorting functionality using SortableJS and htmx (hx-post).
Based on the above rules and background, we will proceed with the MUTUNET implementation.