Тема
Итоговый проект «Мои задачи»
Не делайте проект одним большим запросом. Каждый этап должен давать отдельный видимый результат и проходить проверку.
Требования первой версии
Пользователь может:
- открыть
/tasks; - увидеть список задач;
- добавить задачу с непустым названием;
- отметить задачу выполненной;
- удалить задачу после явного действия.
Приложение должно:
- проверять ввод на сервере;
- хранить данные через модель
Task; - изменять структуру базы миграцией;
- использовать именованные маршруты;
- показывать ошибку формы понятным текстом;
- иметь функциональный тест главного сценария.
Этапы
1. Только чтение
- определить версию Laravel;
- прочитать README и правила проекта;
- проверить
git status; - найти похожие маршруты, формы и тесты;
- согласовать точный список файлов.
2. Показ списка
- маршрут
tasks.index; - метод контроллера;
- получение задач;
- шаблон списка и пустого состояния;
- тест ответа.
3. Добавление
- маршрут сохранения;
- серверная валидация названия;
- форма с защитой CSRF;
- запись через модель;
- тест успешного и неверного ввода.
4. Отметка выполнения
- отдельный маршрут изменения;
- проверка существования задачи;
- изменение
is_done; - тест состояния до и после.
5. Удаление
- явная кнопка и метод
DELETE; - проверка ожидаемой задачи;
- возврат к списку;
- тест удаления.
6. Итоговая проверка
- Запустить целевые тесты.
- Запустить принятый в проекте форматтер.
- Просмотреть весь diff.
- Убедиться, что
.env, журналы и временные файлы не попали в изменения. - Выполнить отдельный review.
- Проверить сценарий в браузере.
- Создать понятный коммит только из нужных файлов.
Критерий готовности
text
Готово, когда:
- все пять действий пользователя работают;
- неверное название не сохраняется;
- связанные тесты проходят;
- diff не содержит посторонних правок и секретов;
- ученик может объяснить путь запроса своими словами.Попробуйте сейчас
Составьте список этапов в Git: одному этапу — один небольшой коммит после проверки. Не создавайте коммит, пока не понимаете его diff.
Что изучать после
- спецификации своей версии Laravel;
- тестирование;
- безопасность;
- готовые шаблоны типовых модулей;
- повторное использование.
Урок пройден, если
Проект соответствует критерию готовности, а вы можете без подсказки объяснить роль маршрута, контроллера, модели, миграции, шаблона, теста и Git.
Куда дальше
Пройдите самопроверку.