luchob/softuni-sep-2023

Оценка проект

Closed this issue · 2 comments

Връзка към проекта:

Поставете връзка към проекта си тук.

Здрасти Лъчо,
слагам линка към проекта ми искам да те помоля, ако имаш възможност да го прегледаш и дадеш някаква градивна критика и цялостна оценка.
Поздрави
Иво

luchob commented

Здравей!

Проектът е доста обемист :-) и ползва React (ползвал съм само Angular :( ) и за да го разгледам ред по ред ми е необходимо доста време, но като цяло може да нахврълям малко коментари. Например:

  • относно пакетна структура е перфектен

  • струва ми се, че имаш прекалено много @crossorigin анотации, мисля че можеш да ги замениш с нещо подобно на:

@Bean
CorsConfigurationSource corsConfigurationSource() {

}
  • в User-a имплементираш UserDetails. Вместо това може да използваш класа User от Spring, който имплементира UserDetails + да си направиш една мапинг функция между твоя User и Spring User класа.

  • изобщо не ми харесва че изкарваш entity-та през сървис лейъра и ги ползваш вместо модел към външния свят. Още по-малко ми харесва че ги пращаш по рест и имаш Json анотации в ентити класовете.

  • само да отбележа, че с подобни неща (columnDefinition) се "оженваш" за MySQL:

@Column(columnDefinition = "TEXT", updatable = false)

Това не е непременно нещо супер лошо, но например може да доведе до проблеми в интеграционните тестове.

  • ще поизучим как подобни неща да се правят по елегантно, например с PreAutrhorize анотацията.
        if (isAdmin) {
            this.shopsRepository.deleteById(shopId);
        }

Вероятно може да се кажат още много неща, но в заключение - голям и сложен проект, оптимист съм за бъдещето му :-)

Здравей!
Благодаря ти за обратната връзка!
Ще се постарая да реша проблемите за които ми обръщаш внимание.
Още веднъж благодаря.
Поздрави