Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Создание записей в бд почти во всех миграциях. Для этих целей есть сидеры (seed).
- https://github.com/xnkka/itflot/blob/e962422fc313d87ae231ee4ee85bf4686e88034e/database/migrations/2019_12_05_091704_create_category_table.php#L16
- 2. Не настроены релейшены во всех миграциях. Не прописаны уникальные индексы (category_id, language_id)
- https://github.com/xnkka/itflot/blob/e962422fc313d87ae231ee4ee85bf4686e88034e/database/migrations/2019_12_06_075704_create_category_translate_table.php#L20
- 3. Не реализован перевод модели Ad. Ранее вы писали, что заранее подумали о том как будете работать с переводами, хотя изначально это было указано в ТЗ - плохой знак. Систему нужно продумывать заранее.
- 4. Контроллер не должен устанавливать параметры конфигурации. В вашем случае, вы отправляете в метод getAll $lang и затем проверяете его в БД. Правильным решением было бы вынести установку языка в отдельный middleware, в котором проверять переданный в get параметре язык на возможность использования (список доступных языков нужно хранить в config файле, а не чекать его каждый раз с базы).
- https://github.com/xnkka/itflot/blob/e962422fc313d87ae231ee4ee85bf4686e88034e/app/Http/Controllers/AdsController.php#L26
- 5. Запрос в целом правильный, но он сделан без использования моделей. Сделать данную задачу с использованием модели можно было легче и правильнее. А писать такого рода запросы без использования возможностей фреймворка можно и на чистом php.
- Вдобавок не реализована пагинация: что вы будете делать, если в базе 10000 записей? Запрос не отработает..
- https://github.com/xnkka/itflot/blob/e962422fc313d87ae231ee4ee85bf4686e88034e/app/Http/Controllers/AdsController.php#L28
- 6. Нет проверки на права пользователя, сейчас любой пользователь может изменить данные любой модели. Нет валидации входных параметров. Нужно было создать реквест и в нем чекать все поля. Вдобавок использовать fillable параметры в модели - плохая практика. По правильному, нужно было вынести создание экземпляра модели в отдельный сервис, в метод которого передавать dto.
- https://github.com/xnkka/itflot/blob/e962422fc313d87ae231ee4ee85bf4686e88034e/app/Http/Controllers/AdsController.php#L55
- 7. Нет проверки на права пользователя, сейчас любой пользователь может удалить любую модель.
- https://github.com/xnkka/itflot/blob/e962422fc313d87ae231ee4ee85bf4686e88034e/app/Http/Controllers/AdsController.php#L64
- По разработанному проекту много стилистических ошибок - отступы, переносы строк, закомменченный код, не используются типы входных и возвратных данных в функциях.
- В целом видно, что опыта в разработке проектов у вас пока недостаточно чтобы начать работать с нами.
- Спасибо, что уделили нам время.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement