Advertisement
Guest User

Untitled

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