Task Manager — система управления задачами. Она позволяет:
- создавать задачи с описанием;
- назначать статусы;
- назначать исполнителей;
- регистрировать пользователей и выполнять вход.
- Разграничение доступа с использованием Policy (удаление задач разрешено только автору)
- Фильтрация, сортировка и пагинация реализованы через Spatie Laravel Query Builder
- Используются Form Request'ы для валидации данных
- Поддержка аутентификации и регистрации через Laravel Breeze
- Реляционные связи моделей:
- User ↔ Task (HasMany)
- Task ↔ TaskStatus (BelongsTo)
- Task ↔ Label (Many-to-Many)
- Настроены CI/CD: GitHub Actions, PHPStan, PHP_CodeSniffer, PHPUnit
- Логирование ошибок через Rollbar
- Покрытие кода модульными тестами (PHPUnit)
- PHP 8.2
- Laravel 12
- Laravel Breeze
- PostgreSQL (в продакшене)
- SQLite (для локальной разработки)
- Spatie Laravel Query Builder
- Spatie Laravel HTML
- Rollbar
- Laravel Pint, PHPStan, PHP_CodeSniffer
- PHPUnit
- GitHub Actions + SonarCloud — для CI и анализа качества кода
Приложение доступно по адресу: 🔗 https://wisdomis.ru/
Системные требования
- PHP 8.2
- Composer
- Node.js 20+
- npm 10+
- SQLite (по умолчанию)
- Make 4.3+
Шаги установки
- Клонируйте репозиторий:
git clone https://github.com/tsoyvit/task-manager-laravel.git
cd task-manager-laravel
- Выполните установку зависимостей и настройку проекта:
make setup
- Запустите встроенный сервер Laravel:
make start
Приложение будет доступно по адресу: http://localhost:8000
Для запуска тестов:
make test