Личный backend-проект портфолио на Laravel + Apiato с публичной страницей, админ-панелью Filament и API/WEB-аутентификацией.
- Публичная WEB-страница (
/) с hero/contacts/текущей разработкой. - Данные публичной страницы подтягиваются из
Spatie Laravel Settings:ProfileSettingsContactSettings
- Логика подготовки данных для welcome вынесена в Task:
App\Containers\AppSection\Authentication\Tasks\BuildHomePageDataTask
- Filament Admin Panel (
/admin) с отдельными страницами управления настройками:ManageProfileSettingsManageContactSettings
- Контейнеры Apiato:
Authentication(WEB + API auth, Passport)Authorization(roles/permissions)
- Подключены Telescope, Passport, Spatie MediaLibrary, Spatie Settings.
- PHP
^8.4 - Laravel 12 + Apiato Core
^13.1 - Filament
^5.0 - Spatie Laravel Settings
^3.7 - Laravel Passport
^13.0 - MySQL
- Tailwind CSS + Vite
app/Containers— бизнес-модули Apiato (Actions/Tasks/Routes/Tests).app/Ship— общая инфраструктура проекта.app/Filament— ресурсы и страницы админ-панели.app/Settings— классы групп настроек (ProfileSettings,ContactSettings).database/settings— миграции значений Spatie Settings.resources— фронтенд-ассеты (CSS/JS).
- Установить зависимости PHP:
composer install- Установить frontend-зависимости:
npm install- Подготовить
.env:
cp .env.example .env
php artisan key:generate-
Настроить подключение к MySQL в
.env. -
Выполнить миграции и сиды:
php artisan migrate --seed- Опубликовать ассеты Filament (если нужно после установки/обновления):
php artisan filament:assets- Создать пользователя для входа в админ-панель:
php artisan make:filament-user --panel=admin- Запустить приложение:
php artisan serve
npm run dev- Публичная страница:
http://localhost:8000/ - Filament:
http://localhost:8000/admin - Telescope:
http://localhost:8000/telescope
Публичный экран использует данные из Spatie Laravel Settings.
profile.*:full_name,nickname,job_title,short_bio,full_bio,location,status,is_available_for_work
contact.*:email,phone,telegram,github_url,website_url
Редактирование выполняется через Filament-страницы настроек.
# Тесты
php artisan test
# Статический анализ / quality tools (по необходимости)
composer fixer
composer ide-helper
# Сборка frontend
npm run build- В проекте используются Apiato-миграции Passport из контейнера
Authentication. - Для
tailwindучитываются Blade-файлы контейнеров (./app/Containers/**/*.blade.php). - Если фронтенд-изменения не применились, проверьте
npm run dev/npm run build.
Alexander Bubnov
Email: alexunderbubnov@gmail.com