У кого проблема с клиентской частью, когда не рендерится страница на этапе создания Роута: В новых версиях React Router немного изменилась документация. Switch (в файле по пути components/AppRoutes из урока) заменить на => 'Routes'. Так же 'Components' (в строке Route) заменить на => 'element'. Эта строка должна выглядеть так: "" Так же для "Redirect". Его в новой версии не импортируем. Вместо него использовать просто: "". Может у кого-то возникла такая же проблема и будет полезно.
Спасибо, но у меня строка, там где в старой версии писали "Redirect" работает с таким изменением: import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'; Во вкладке DeviceItem.js в новой версии react-router-dom v6 хук useHistory заменён на useNavigate : import { useNavigate } from "react-router-dom"; const navigate = useNavigate(); onClick={() => navigate(DEVICE_ROUTE + "/" + device.id)}
@@UlbiTV Бро, подскажи, пожалуйста, пишу всё в точности как у тебя, даже из репы вроде код копировал, но при попытке получить device по getOne методу, запрос зависает и высыпается ошибка: "UnhandledPromiseRejectionWarning: SequelizeDatabaseError: column info.deviceId does not exist" Курс офигенный просто, но с базами и nodejs не работал никогда до этого, так что сижу и никак не могу чё т выкупить, как пофиксить эту ошибку, хелп плиз(
Жесть, меня этот человек научил большему чем горсть "преподавателей" за 4 года учебы в университете. Есть множество людей которые продвигают реформы образования, есть люди и компании которые инвестируют многа деняг в обучение будущих поколений, но мне кажется, что ulbi TV сделал больше всех этих добряков, создав столько простых, понятных и что не маловажно бесплатных уроков. Вот он настоящий МеценаТ!
Думаю, без полученной там базы - тут было бы намного сложнее!))) Уважайте труд каждого преподавателя) В жизни так и должно быть - никогда после первичного учебного заведения не бывает хороших спецов - ими они становятся в последствии, когда начинают применять то чему учились. И если продолжают учиться!!!) А автору сего творения - ОГРОМНЕЙШИЙ респект за материал!!! Очень много полезного!
Досмотрел до конца, ушло 2 недели )) тратил по 1-3 часа в день) параллельно писал бэк и фронт под свои задачи, почти все работает, где то ошибка с токенами буду смотреть заново, и думаю не один раз. Спасибо большое тебе Тимур! Раньше такой стэк можно было только долгими путями тратя много времени на прочтение талмутов Архангельского (привет паскаль и с++) либо в компании ковыряя чужой код. Это огромная работа и в клад в развитие начинающих юниоров.
@@narekmanukyan8692 Привет я писал проект под свои задачи (учетная система для расчета заказа клиенту т.е. не интернет магазин) Но думаю просто надо расширить тек функционал например для рейтинга ввести переменную рейтинг которую надо будет пересчитывать при нажатии на рейтинг пользователем далее либо сохранять историю рейтингов либо запоминать вес и делать перерасчет. С корзиной чуть побольше дел я бы сделал отдельную переменную у пользователя текстовую и сохранял json структуру со списком товаров (ид, кол-во цены какие то расчеты). Но это сходу мысли далеко не гуру в этом вопросе
@@nouchance Привет!) Да, согласен с тем, что вью хорош для новичков, но все же реакт ближе к нативному js, скорее с него посоветовал бы начать) будет сложнее - но потом изучить вью будет проще
Спасибо большое, это ты - герой, что сделал такой урок! И главное, все очень сжато, но где стоит отметить какую-то деталь - ничего не упускаешь Я сам в разработе второй год, но в этом уроке знаний дано больше, чем набрал за все время) Еще раз спасибо! Если бы ты где-то на udemy переделал этот курс: дробить на мелкие уроки плюс исходник в результате каждого урока -- я бы заплатил за это однозначно!
Супер!!! Спасибо большое за твой труд!!! За 2.5 часа передал суть 2х лет института!) Не останавливайся! Таких курсов в русскоязычном сегменте ютуба нет. Сил и удачи тебе!)
@@UlbiTV Было бы круто увидеть деплой проекта. Планируется ли подобный контент? А именно о том как грамотно корректировать общение фронта и бека на деплое. Также думаю очень интересно будет комьюнити автоматизация на проекте. Реализация меню подтверждения заказа(колл-центра) и автоматической отправки его в службу доставки(склад) для дальнейшей обработки. В прошлом году мне приходилось делать подобный проект. От того весьма интересно разобраться в реализации подобного в стеке js)
Огромное спасибо. Думаю многим пригодится, кто искал создание интернет магазина в ютуб. Ещё и всё удобно разбито на части и есть исходники в описании. Просто мечта!
Просто невероятный! У меня нет слов, насколько нравится твой контент - смотрел с открытым ртом на некоторые моменты. Автору низкий поклон и глубочайший респект! С удовольствием смотрю уже третье твое видео длиной 2+ часа, при этом вообще не замечая времени - все на одном дыхании.
Видео великолепное , я от начала до конца написал магазин это было тяжело .Сталкиваться ошибками даже когда катаешь чужой код, чаще всего из-за невнимательности иногда из-за обновлений фреймворков . Появилось очень много понимания о разработке ,а с видео автора про ООП стало ещё понятнее . Всём начинающим разработчикам как и бек так и фронтенд советую пройти этот курс . Это стало самой большой моей разработкой приложений за период изучения программирования но надеюсь не надолго , надо покорять новые вершины , каждый день только так можно добиться успеха ! Удачного кодинга и не повалите сервер
Видео-пособие отличное, впервые за долгое время поиска информации по react'у имеется реальный план по его изучению. Воды нет, только конкретика с пояснением важных моментов. Спасибо Тимуру!
Решение некоторых проблем на фронте, возникших при повторении кода в декабре 2023 (01:19:00) не рендерится навигация Route 1. замените в импорте Switch и Redirect на: import { Routes, Route, Navigate } from 'react-router-dom; 2. замените код в теле компоненты на: return ( {isAuth && authRoutes.map(({ path, Component }) => )} {publicRoutes.map(({ path, Component }) => )}
); (01:31:20) В окне авторизации не выстраивается в линию кнопка "войти" и "зарегистрируйся" 1. добавьте import Col from 'react-bootstrap/Col' 2. оберните NavLink и Buttom в теги NavLink и Buttom Это же решение будет применяться дальше при аналогичной потребности d-flex row (1:44:40) Динамический переход по страницам 1. useHistory заменить на useNavigate import { useNavigate } from "react-router-dom" const history = useNavigate() 2. в обработчике событий не вызывать у объекта history функцию push. Сделать так: onClick={() => history(DEVICE_ROUTE + '/' + device.id)}
@@evgenya_pan да, вы правы, спасибо. Почитал документацию по миграции: " is gone. Instead, routes with descendant routes (defined in other components) use a trailing * in their path to indicate they match deeply". т.е. если нужно сопоставить больше URL из-за наличия дочерних маршрутов, используйте знак * в конце, например,
у меня еще выбивает такая ошибка. Никто не встречал? - Cannot set property selectedType of # which has only a getter TypeError: Cannot set property selectedType of # which has only a getter at new DeviceStore (localhost:3000/static/js/bundle.js:1274:23) at ./src/index.js (localhost:3000/static/js/bundle.js:605:15) at options.factory (localhost:3000/static/js/bundle.js:66201:31) at __webpack_require__ (localhost:3000/static/js/bundle.js:65616:33) at localhost:3000/static/js/bundle.js:66778:37 at localhost:3000/static/js/bundle.js:66780:12
@@dariasieik4493 Вообще может быть ошибка в самом коде. Не правильные импорты модулей, классов и прочего. Так же можно, например, в php storm в настройках включить галочку в поддержке node js.
Досмотрел до конца! Огонь! Повторил весь код, для бэк конечно понятнее, реакт - пока туго понимаю. В общем на просмотр ролика, углубление в некоторые детали, реализацию у меня ушло 4 дня. Это пока без корзины и рейтинга. Спасибо! Ролик, то что нужно!
Руководство просто выше всяких похвал. То самое познание через практику. Спасибо огромное. Небольшая ошибка в Client/src/App.js - строка 16 ' user.setUser(true)' заменить на ' user.setUser(data)' - если не ошибаюсь
Посмотрел пока только вступление, но не могу не оставить комментарий. Спасибо автору! Как говорится, уважение таким парням. Здоровья вам, вашей семье и близким!
Четвёртый раз пересматриваю этот урок и каждый раз черпаю что-то новое. Пишу проект на VueJS и Express. Принципы работы, озвученные в этом видосе, очень применимы к моему проекту Спасибо за этот объёмный курс!
Фига ты быстрый такой, я 2 недели уже в этом уроке висну, осознавая все строчки и пишу код с комментариями. И это только бэк, правда фронт могу написать сам без видео.
Чисто случайно наткнулся на этот видос, очень годный канал, удивительно что так мало подписчиков. Уже составил очередь из того что мне понадобилось) Респект чувак)
@@vana__f7570 если универ дал бы годное знание, он не шлялся бы в просторах ютуба. Я тоже учусь на программиста и понял что от универа нужна только корочка.
Спасибо, круто подаёте инфу. Даже я динозавр 50+ понимаю 76% от услышанного .Очень хочу научиться работать в интернете. Сегодня попала на Ваш ресурс и прослушав несколько роликов получила ответы на много моих вопросов👍 простые👍 открытые ответы. Развеялись страхи и сомнения. Я начинаю с Вами новый виток моей жизни.
Тимур спасибо огромное! Не смотрел курс, но лайк не глядя, до пройду ваш курс по хранилищу и буду этот курс штурмовать. Вы реально большой молодец! И да вы правы, за подобные курсы люди за деньги продают. Хорошо, что вы чередуете разные бд. Круто, что с mobx ))
Привет! Вернулась на повторный просмотр данного ролика, в первый раз смотрела для курсовой работы (ну я просто за вами повторила), было не понятно около 90% материала, но я вообще не знала ничего про веб, теперь пишу диплом, почти месяц вот изучала разные технологии для бека и фронта, открыла свою курсовую работу снова, теперь мне понятны 90% всего материала. У вас самые офигенные видео, мне кажется самые лучшие, но новичкам все таки лучше не лезть. Очень доступно все объясняете, в одном видео просто миллион всяких знаний! У многих других затрагиваются только какие-то основы и крошечные проекты, а в ваших роликах можно узнать как все эти технологии сочетаются вместе в одном проекте, да еще и за 1 видео! Благодарю за вашу работу!
@@АлисаП-л5н загуглите Магазин на JavaScript, часть 1 из 19. Серверное приложение, база данных, ORM Sequelize. первой ссылкой будет сайт с 19 уроками, ниже ссылка на гит с исходниками (эта же ссылка есть в 19 части)
Тимур, ты как всегда ТОП! Коммент в поддержку и благодарность. Всем кто будет смотрет: как обычно с твоими уроками, нужно закладывать х10 времени от продолжительности ролика, концентрация инфы невероятная. Ну и пол часа искать какую-нибудь опечатку это коечно жиза🥲
Ох, я уже больше 3 лет в веб разработке, из которых больше 2х коммерческой. И все еще не чувствую силы в пальцах и голове. Хотя уже давно занимаюсь различными большими и иногда даже очень сложными задачами @bigbigfoot3365 😂
Во-первых, спасибо за ролик. Для тех кто сча повторяет: { In react-router-dom v6, 'Switch' is replaced by 'Routes' }. С Redirect похожая история, я использовал последним роутом такую конструкцию { }
супер туториал! Ты большой молодец! Задаваясь вопросом "стоило ли мне покупать курс Full-stack JS", понял, что всё-таки стоило. Образования много не бывает - главное сидеть и упорно впитывать знания, а потом на практике тренировать. и потом надо в благодарность таким ребятам, как ты, тоже помогать молодняку учиться и становиться лучше.
современные герои не носят плащи и маски они выглядят иначе)) 8:43 и просто выкладывают такие потрясающие фулстак проекты на ютуб с подробным объяснением, отличной подачей, и даже спустя века (а именно 3 года) видео остается актуальным и супер мега полезным, спасибо)
Крутой ролик, спасибо! Дошел до админки и не получалось перейти на /admin потому что по дефолту юзер не авторизован, AppRouter отрабатывает один раз и получается, что доступны только publicRoutes. Когда делаешь авторизацию, то глобальный стейт юзера меняется, но роуты заново не формируются и authRoutes все так же недоступны. Решил тем, что обернул AppRouter в observer. Потом открыл исходный код и увидел, что AppRouter реально обернут в observer, хотя на видео этого не было) Возможно, кому-то будет полезно
Высший пилотаж) ты настолько быстро пишешь приложение и твои мысли настолько быстро, грамотно и системно строятся в очень грамотный код, что я банально порой не успеваю за ходом твоих мыслей, в тот момент когда ты эти мысли реализуешь в код, который приятно читать. Это очень здорово) Надеюсь через пару просмотров пойму больше :D На самом деле я скорее тут изначально был ради фронтенд части, так как именно в этом направление стремлюсь, но на удивление бэк был тоже приятен и интересен, хоть конечно сложно много было понять, ни разу не работая с БД или с ORM Sequalize.
Просто взрыв мозга. Я даже не новичок, а просто зритель. Сфера другая у меня. Но структура создания современного сайта и мне примерно ясно стало. Бесплатно и очень полезно. Красавчик, желаю еще больше успехов тебе!
Лучший, спасибо. Проходил эти три часа неделю, весь код писал сам, библиотеки обновились, в связи с этим пришлось исправить кучу ошибок, получил настоящий опыт. Хотите чему то научиться, не копируйте, а смотрите, слушайте, разбирайтесь и пишите код сами.
Крутая работа! Спасибо большое! Этот курс помогает людям больше практиковаться! Понятный разбор и логическая цепочка действий с объяснениями по каждому шагу продвижения к написанию кода интернет магазина📶
Отличный туториал! Реально. Оставляю редко комменты, но тут прям нельзя мимо пройти. Ещё, не бойся делать длинные ролики. В твоём случае это тока плюс. В моменте с валидацией ты об сказал. Люди, кто будет смотреть их, понимают ценность контента. Не переживай!
Спасибо друг!) Да я не боюсь их делать, просто людей, которые готовы потратить 3 часа на такой ролик я думаю найдется не много, 80% бросят не досмотрев до середины, тк тяжело осилить за раз такой курс
@@UlbiTV пожалуйста, делай больше, я понимаю что тебе важно количество просмотров, но нам тем кто насмотрелся мини уроков, важно иметь такие длинные курсы, дабы полностью подкрепить знания с мини уроков, в инете правда мало такого контента, а он очень нужен
@@UlbiTV я частично попал в эти 80%, потому как смотрю в 3 ночи и добавляю в плейлисты, досматривать буду на днях, на праздниках хотел выделить время на развертывание и т.п
Курс - бомба! Столько полезных примеров в одном видео не видел никогда. Прошел курс, все повторил, теперь на этой базе буду делать реальный проект с нуля. Благодарю!
Можете зелёным прогерам и непонятно, но если есть хоть какой-то опыт работы то вашы видео--бомба! Это реально оооочень быстро помогает разобраться с оооочень обширными и сложными темами!!!
Очень крутой курс, от души. Если кто сейчас проходит, то на серверной части в модуле models при создании DeviceInfo забыли добавить в таблицу строчку deviceId, поэтому при добавлении свойства инфо и девайс не матчились. Три дня шерстил весь код, не мог понять в чем причина
Чел, 2 месяца назад я разрабатывал уже свой проект, основываясь на коде из этого урока. В ходе разработки столкнулся с проблемой создания характеристик товара - ну не создавались они, никоим образом. 404 (или 403) ошибку мне в лицо плевало, и всё тут. Около месяца я искал на всевозможных площадках решение, даже заглядывал в актуальные комментарии этого видео, в надежде найти ответ. Сегодня захожу и вижу ключ решения проблемы, травившей мою жизнь! Спасибо!
Огромное спасибо автору. Посмотрел все и выполнил. Тоже 4 дня сидел :) Не уверен, но возможно в функцию "logOut" нужно добавить строку "localStorage.removeItem('token')" для того чтобы разлогиненый пользователь не авторизовывался автоматически при следующем запросе. Еще раз спасибо за отличный материал!
37:36 Если кто потерялся, как и я, то знайте: create - это метод объекта sequelize, а не наш. Хорошо расписан в доках по секвалайзу. PS привык смотреть гайды на скорости х1.5. Уроки Тимура приходится смотреть в замедлении и постоянно возвращаться)) Очень плотная подача материала, спасибо!
@@Нико-ю6ь Похоже у тебя в models.js у модели категорий товаров в поле name стоит type: DataTypes.integer. integer - это число, нужно чтоб было type: DataTypes.string
2:14:50 наверное в функцию logOut надо добавить localStorage.removeItem('token') иначе по нажатию кнопки выйти, после обновления страницы, пользователь будет в системе все равно, так как токен есть в хранилище
За 3 часа сделать такой фул стэк проект с проектированием бд и этими технологиями конечно сильно 👍👍 Представляю сколько времени ушло на запись, спасибо за то, что вы делаете 👍
Всем, кто посмотрел это удивительное видео, привет:). Хотел задать вопрос. Я смог добавить запись даже не авторизовавшись. После поисков ошибки выяснил, что нужно на роутрах, которые выполняют действия доступные авторизированным, вторым параметром отдавать authMiddeware, тогда все заработало корректно. Можно по этому поводу услышать чей-нибудь комментарий?:)
Если у кого то проблемы с , обязательно заменяйте эту запись на , Многие элементы в этом видео убраны из Node.js и React.js, гдето 70% информации имеет актуальность. Рекомендую пересмотреть также видео по курсу Node.js React.js максимум 2 годичной давности, желательно 1 год. Но имеем что имеем
@@UlbiTV Полностью ознакомился:)) мне как-то говорили, что реляционки способствуют порядку в голове, теперь убедился наглядно(первый раз встретился на практике) и главное, что потребовалось, это прописать связи. Отдельное спасибо за таймкоды и пояснения для чайников, прямо выручает! :)) Есть еще пока некоторые сложности с фронтом, а именно контекстом, но думаю, это дело практики, а так, со всем разобрался, кроме одного момента: на 21:33, 67 строка, разве BasketDevice к Device и обратно не 1к1 связывается(hasOne?)? И если да, то при выборе более 1шт одного товара, это лучше обрабатывать на фронте, как я понимаю? Пс: теперь это видео буду кидать тем, кто попросит видео "с которого начать":))) раньше был мерн диск но он не такой структурно понятный!!! Ещё раз спасибо за видео!!!
У кого проблема с клиентской частью, когда не рендерится страница на этапе создания Роута:
В новых версиях React Router немного изменилась документация. Switch (в файле по пути components/AppRoutes из урока) заменить на => 'Routes'. Так же 'Components' (в строке Route) заменить на => 'element'. Эта строка должна выглядеть так: ""
Так же для "Redirect". Его в новой версии не импортируем. Вместо него использовать просто: "".
Может у кого-то возникла такая же проблема и будет полезно.
Спасибо!
Еще и в routes.js нужно добавить < ИмяКомпонента /> для каждого компонента маршрута
Спасибо, но у меня строка, там где в старой версии писали "Redirect" работает с таким изменением:
import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
Во вкладке DeviceItem.js в новой версии react-router-dom v6 хук useHistory заменён на useNavigate :
import { useNavigate } from "react-router-dom";
const navigate = useNavigate();
onClick={() => navigate(DEVICE_ROUTE + "/" + device.id)}
Добрый день! подскажите пожалуйста, вы реализовывали корзину?
еще добавлю что exact идет по умолчанию и его не нужно писать
Это просто ах****но! Ты реальный красавчик) Спасибо и удачи с каналом! Коммент для продвижения!
И ты красавчик, спасибо за поддержку бро)
@@UlbiTV Очень годный урок, да и канал в целом ОЧЕНЬ ГОДНЫЙ, спасибо огромное за труд
Polnostyu soglasen.
@@UlbiTV Бро, подскажи, пожалуйста, пишу всё в точности как у тебя, даже из репы вроде код копировал, но при попытке получить device по getOne методу, запрос зависает и высыпается ошибка: "UnhandledPromiseRejectionWarning: SequelizeDatabaseError: column info.deviceId does not exist"
Курс офигенный просто, но с базами и nodejs не работал никогда до этого, так что сижу и никак не могу чё т выкупить, как пофиксить эту ошибку, хелп плиз(
@@alexdirks7287 смотри внимательнее скорее всего не правильно модель данных описал скорее всего связи.
Жесть, меня этот человек научил большему чем горсть "преподавателей" за 4 года учебы в университете.
Есть множество людей которые продвигают реформы образования, есть люди и компании которые инвестируют многа деняг в обучение будущих поколений, но мне кажется, что ulbi TV сделал больше всех этих добряков, создав столько простых, понятных и что не маловажно бесплатных уроков. Вот он настоящий МеценаТ!
Иван, благодарю за такие приятные слова и за столь высокую оценку моего труда:)
Думаю, без полученной там базы - тут было бы намного сложнее!))) Уважайте труд каждого преподавателя) В жизни так и должно быть - никогда после первичного учебного заведения не бывает хороших спецов - ими они становятся в последствии, когда начинают применять то чему учились. И если продолжают учиться!!!) А автору сего творения - ОГРОМНЕЙШИЙ респект за материал!!! Очень много полезного!
@@ZooBeeN1 Всю базу и самостоятельно получить можно, универ не дает никаких особенных знаний которых нет в открытом доступе
@@CurS-uo6wt Я не про ту базу))) Не про знания типа
Досмотрел до конца, ушло 2 недели )) тратил по 1-3 часа в день) параллельно писал бэк и фронт под свои задачи, почти все работает, где то ошибка с токенами буду смотреть заново, и думаю не один раз. Спасибо большое тебе Тимур! Раньше такой стэк можно было только долгими путями тратя много времени на прочтение талмутов Архангельского (привет паскаль и с++) либо в компании ковыряя чужой код. Это огромная работа и в клад в развитие начинающих юниоров.
Привет, а ты рейтинг и корзину сделал? я закончил бек енд но не представляю как корзину и рейтинг сделать
@@narekmanukyan8692 Привет я писал проект под свои задачи (учетная система для расчета заказа клиенту т.е. не интернет магазин) Но думаю просто надо расширить тек функционал например для рейтинга ввести переменную рейтинг которую надо будет пересчитывать при нажатии на рейтинг пользователем далее либо сохранять историю рейтингов либо запоминать вес и делать перерасчет. С корзиной чуть побольше дел я бы сделал отдельную переменную у пользователя текстовую и сохранял json структуру со списком товаров (ид, кол-во цены какие то расчеты). Но это сходу мысли далеко не гуру в этом вопросе
@@alena_paya_start спасибо за ответ и помощь, но я не понял 🤷♂
у меня проблема с обработками ошибок, он написал alert, который в принципе не срабатывает
как ты организовал обработку ошибок?
@@narekmanukyan8692 привет, ты делал корзину, а то тоже доделала весь видос и не могу понять.)
Это тот случай когда одно 3 часовое видео обьясняет больше чем 3-6 месяцев учебы... топ! подписан лайк и +карма
тут как раз пока хотя бы просто перепишешь всё это, чтобы работало - уже пройдёт 3-6 месяцев ахвахвззах
😅😅😅
@@daeriofrixell199 неделя ушла где то)))
@@МарияТроянова-г1и привет, ты делала корзину интернет-магазина?
@@nik_lixach на гите кто-то сделал
Таймкоды в описании, приятного просмотра!)
Привет бро! хотел спросить что посаветуешь для начинающих после html css JS ? тоесть Angular React Vue? какой из них легко для новичков ?
@@nouchance Vue для новичков идеален
@@nouchance Привет!) Да, согласен с тем, что вью хорош для новичков, но все же реакт ближе к нативному js, скорее с него посоветовал бы начать) будет сложнее - но потом изучить вью будет проще
@@UlbiTV спасибо !
Прошёлся по всем больным местам! Спасибо! Я сам очень хотел записывать курсы, но получится так что я тебя буду просто копировать!)
очень круто!
Спасибо большое, это ты - герой, что сделал такой урок!
И главное, все очень сжато, но где стоит отметить какую-то деталь - ничего не упускаешь
Я сам в разработе второй год, но в этом уроке знаний дано больше, чем набрал за все время)
Еще раз спасибо!
Если бы ты где-то на udemy переделал этот курс: дробить на мелкие уроки плюс исходник в результате каждого урока -- я бы заплатил за это однозначно!
Супер!!! Спасибо большое за твой труд!!! За 2.5 часа передал суть 2х лет института!) Не останавливайся! Таких курсов в русскоязычном сегменте ютуба нет. Сил и удачи тебе!)
Ахах)) Просто в институтах сейчас обучение такое)) Спасибо друг, успехов!)
@@UlbiTV Было бы круто увидеть деплой проекта. Планируется ли подобный контент? А именно о том как грамотно корректировать общение фронта и бека на деплое. Также думаю очень интересно будет комьюнити автоматизация на проекте. Реализация меню подтверждения заказа(колл-центра) и автоматической отправки его в службу доставки(склад) для дальнейшей обработки. В прошлом году мне приходилось делать подобный проект. От того весьма интересно разобраться в реализации подобного в стеке js)
Институту никогда не достич такого уровня
Посмотрел уже несколько объемных роликов, из каждого подчерпнул большое количество полезной инфы. Спасибо за отборный контент!
Огромное спасибо. Думаю многим пригодится, кто искал создание интернет магазина в ютуб. Ещё и всё удобно разбито на части и есть исходники в описании. Просто мечта!
Просто невероятный! У меня нет слов, насколько нравится твой контент - смотрел с открытым ртом на некоторые моменты. Автору низкий поклон и глубочайший респект! С удовольствием смотрю уже третье твое видео длиной 2+ часа, при этом вообще не замечая времени - все на одном дыхании.
люблю твои ролики, нет всякой нудятины по пол часа, чистый отфильтрованный контент
Единственный человек который подробно рассказывает, но для новичков это сложновато понять. Это видео заслуживает лайк и подписку
Новички должны тупо повторять написание кода :)
Видео великолепное , я от начала до конца написал магазин это было тяжело .Сталкиваться ошибками даже когда катаешь чужой код, чаще всего из-за невнимательности иногда из-за обновлений фреймворков .
Появилось очень много понимания о разработке ,а с видео автора про ООП стало ещё понятнее . Всём начинающим разработчикам как и бек так и фронтенд советую пройти этот курс .
Это стало самой большой моей разработкой приложений за период изучения программирования но надеюсь не надолго , надо покорять новые вершины , каждый день только так можно добиться успеха ! Удачного кодинга и не повалите сервер
Видео-пособие отличное, впервые за долгое время поиска информации по react'у имеется реальный план по его изучению. Воды нет, только конкретика с пояснением важных моментов. Спасибо Тимуру!
Ну наконец-то, обалденный формат! Быстро, по делу, не разжевывая - то что нужно. А непонятные детали можно и погуглить. Спасибо!
Старался!) Спасибо, успехов!)
Хотел вечером фильм какой нибудь посмотреть, но видимо буду смотреть это видео :D уверен хороший курс, после просмотра отпишу еще
ахах =) Обязательно жду фидбек!
Ещё не досмотрел ?
@@vortexTact1cs походу
@@ТимурКадырбеков-р1д досмотрел давным давно и даже отписывался если не ошибаюсь, возможно под другим роликом
@@vortexTact1cs читай коммент выше
Ого, таких таких уроков на русском, даже на Udemy нет. Спасибо
Надеюсь было полезно!) Спасибо!
@@UlbiTV бро, я думаю, более чем! 👍🏻
Да, ролики Тимура в 100 раз превосходят udemy
@@UlbiTV мега полезно
Красавчик
Решение некоторых проблем на фронте, возникших при повторении кода в декабре 2023
(01:19:00) не рендерится навигация Route
1. замените в импорте Switch и Redirect на: import { Routes, Route, Navigate } from 'react-router-dom;
2. замените код в теле компоненты на:
return (
{isAuth && authRoutes.map(({ path, Component }) =>
)}
{publicRoutes.map(({ path, Component }) =>
)}
);
(01:31:20) В окне авторизации не выстраивается в линию кнопка "войти" и "зарегистрируйся"
1. добавьте import Col from 'react-bootstrap/Col'
2. оберните NavLink и Buttom в теги NavLink и Buttom
Это же решение будет применяться дальше при аналогичной потребности d-flex row
(1:44:40) Динамический переход по страницам
1. useHistory заменить на useNavigate
import { useNavigate } from "react-router-dom"
const history = useNavigate()
2. в обработчике событий не вызывать у объекта history функцию push. Сделать так: onClick={() => history(DEVICE_ROUTE + '/' + device.id)}
Спасибо за полезный коммент. Только слово exact в роутах уже вроде не используется и не нужно?
@@evgenya_pan да, вы правы, спасибо. Почитал документацию по миграции: " is gone. Instead, routes with descendant routes (defined in other components) use a trailing * in their path to indicate they match deeply". т.е. если нужно сопоставить больше URL из-за наличия дочерних маршрутов, используйте знак * в конце, например,
у меня еще выбивает такая ошибка. Никто не встречал? - Cannot set property selectedType of # which has only a getter
TypeError: Cannot set property selectedType of # which has only a getter
at new DeviceStore (localhost:3000/static/js/bundle.js:1274:23)
at ./src/index.js (localhost:3000/static/js/bundle.js:605:15)
at options.factory (localhost:3000/static/js/bundle.js:66201:31)
at __webpack_require__ (localhost:3000/static/js/bundle.js:65616:33)
at localhost:3000/static/js/bundle.js:66778:37
at localhost:3000/static/js/bundle.js:66780:12
Помогите, пожалуйста, если редактор продолжает подчеркивать require в строке const express = require('express'). Что с этим делать?
@@dariasieik4493 Вообще может быть ошибка в самом коде. Не правильные импорты модулей, классов и прочего. Так же можно, например, в php storm в настройках включить галочку в поддержке node js.
Автор, спасибо большое! На твоём канале, без преувеличения, самый лучший контент на ютьюбе по данной тематике.
Согласен на все 100% Многих смотрел, но остановился на гайдах Тимура!!!
Досмотрел до конца! Огонь! Повторил весь код, для бэк конечно понятнее, реакт - пока туго понимаю. В общем на просмотр ролика, углубление в некоторые детали, реализацию у меня ушло 4 дня. Это пока без корзины и рейтинга. Спасибо! Ролик, то что нужно!
начало очень многообещающее, еще и интернет магазин, распространенный кейс, спасибо Ulbi TV
Спасибо вам!)
Огромное спасибо, за то что для новичков создаешь такие курсы. Удачи в развитие канала!
Руководство просто выше всяких похвал.
То самое познание через практику.
Спасибо огромное.
Небольшая ошибка в Client/src/App.js - строка 16 ' user.setUser(true)' заменить на ' user.setUser(data)' - если не ошибаюсь
Очень толковый курс. Без лишней воды. Кто не догнал, перемотает и прослушает заново. Значительно лучше, чем многие курсы на Udemy.
Посмотрел пока только вступление, но не могу не оставить комментарий. Спасибо автору! Как говорится, уважение таким парням. Здоровья вам, вашей семье и близким!
и подписчикам (здоровья) 😀
Очень нравится скорость и емкость подачи информации. Никакой воды, все по существу. Огромное спасибо!
*Действительно, чумовой контент!*
Предлагаю на его базе сделать продолжение. Например, та же валидация, i18n, другие типы авторизации и т.п.
Четвёртый раз пересматриваю этот урок и каждый раз черпаю что-то новое.
Пишу проект на VueJS и Express. Принципы работы, озвученные в этом видосе, очень применимы к моему проекту
Спасибо за этот объёмный курс!
Самое адекватное видео, которое есть в Ru ютубе. Без воды и глупых "Ээээээ мммм", других слов паразитов. Дай бог тебе здоровья, пили еще видео.
Учусь по твоим курсам, твои 3 часа у меня занимают дней 5 в среднем по пару часов в день :) СПАСИБО!
Ты не один такой))
Фига ты быстрый такой, я 2 недели уже в этом уроке висну, осознавая все строчки и пишу код с комментариями. И это только бэк, правда фронт могу написать сам без видео.
@@ПелмешкаПельмещковая что там, нашел работу?
@@ПелмешкаПельмещковая как успехи
@@RitzCarlton-k8x как успехи
Офигенно круто! Спасибо за такие практически полезные уроки! И отдельная благодарность за таймколы и ссылки на исходники. Реально круто!!! 👏
Твой канал это настоящий социальный лифт: любой человек может учиться хорошей профессии и найти работу , спасибо !
Ulbi TV, спасибо за классный ролик, все еще актуально!
Удачи всем, кто как и я, делал backend по es6 и с typescript)
вместо 10 книг посмотрел ролик и написал курсач.
Cпасибо
Пересмотрел три раза, возвращался в течение месяца несколько раз, контента бомба!
Спасибо, старался для вас
Блин, чувак, ты нереально крут!!! Успехов тебе и подписчиков! Я точно в их числе
Чисто случайно наткнулся на этот видос, очень годный канал, удивительно что так мало подписчиков. Уже составил очередь из того что мне понадобилось) Респект чувак)
С вашей помощью, поддержкой, подписчиков будет больше)) спасибо!
@@UlbiTV можно ли вместо постгреса Mysql использовать?
Боже, насколько же полезны такие видео. Конечно оно уже для понимающих, при этом такой практики я нигде не видел.
Спасибо! Старался и очень рад, что понравилось
Гай Фокс 21 века, это просто шикарно. Этот год действительно начался успешно, раз я нашел этот канал) тот случай когда искал медь, а нашел золото
Пишу серверную часть своего веб приложения для диплома по этому ролику) Просто манна небесная!!!
Успешной защиты диплома!
где учишься? как система образования в университете?
@@vana__f7570 если универ дал бы годное знание, он не шлялся бы в просторах ютуба. Я тоже учусь на программиста и понял что от универа нужна только корочка.
@@КайратБолотбеков-ф4я зачем корочка программисту?
@@vana__f7570 для заграницы, и в гос. компании, еще иногда большие компании просят
Спасибо, круто подаёте инфу. Даже я динозавр 50+ понимаю 76% от услышанного .Очень хочу научиться работать в интернете. Сегодня попала на Ваш ресурс и прослушав несколько роликов получила ответы на много моих вопросов👍 простые👍 открытые ответы. Развеялись страхи и сомнения. Я начинаю с Вами новый виток моей жизни.
Спасибо за поддержку 🙏 желаю вам успехов :)
Тимур спасибо огромное! Не смотрел курс, но лайк не глядя, до пройду ваш курс по хранилищу и буду этот курс штурмовать. Вы реально большой молодец! И да вы правы, за подобные курсы люди за деньги продают. Хорошо, что вы чередуете разные бд. Круто, что с mobx ))
Спасибо вам огромное!) Желаю вам извлечь максимум пользы из моих курсов!)
Привет! Вернулась на повторный просмотр данного ролика, в первый раз смотрела для курсовой работы (ну я просто за вами повторила), было не понятно около 90% материала, но я вообще не знала ничего про веб, теперь пишу диплом, почти месяц вот изучала разные технологии для бека и фронта, открыла свою курсовую работу снова, теперь мне понятны 90% всего материала. У вас самые офигенные видео, мне кажется самые лучшие, но новичкам все таки лучше не лезть. Очень доступно все объясняете, в одном видео просто миллион всяких знаний! У многих других затрагиваются только какие-то основы и крошечные проекты, а в ваших роликах можно узнать как все эти технологии сочетаются вместе в одном проекте, да еще и за 1 видео! Благодарю за вашу работу!
Добрый день, а корзину реализовали?
@@Нико-ю6ь да, есть текстовые туториалы, это видео не совсем полное
@@vehGerli а можете поделиться, пожалуйста)
@@АлисаП-л5н загуглите Магазин на JavaScript, часть 1 из 19. Серверное приложение, база данных, ORM Sequelize. первой ссылкой будет сайт с 19 уроками, ниже ссылка на гит с исходниками (эта же ссылка есть в 19 части)
Тимур, ты как всегда ТОП! Коммент в поддержку и благодарность. Всем кто будет смотрет: как обычно с твоими уроками, нужно закладывать х10 времени от продолжительности ролика, концентрация инфы невероятная. Ну и пол часа искать какую-нибудь опечатку это коечно жиза🥲
Зато это всё спитывается как вода в губку, после всего ролика, когда сам все сделал, чувствуешь силу в пальцах и голове
Ох, я уже больше 3 лет в веб разработке, из которых больше 2х коммерческой. И все еще не чувствую силы в пальцах и голове. Хотя уже давно занимаюсь различными большими и иногда даже очень сложными задачами @bigbigfoot3365 😂
За этот ролик больше спасибо, труд этого ролика рано или поздно тебе вознаградится. Ты крут.
Такие комментарии и есть моя награда, значит все не зря! Спасибо друг!
Спасибо за труд, да будут все лайки ютуба ТВОИМИ!!
Спасибо друг!
Во-первых, спасибо за ролик. Для тех кто сча повторяет: { In react-router-dom v6, 'Switch' is replaced by 'Routes' }. С Redirect похожая история, я использовал последним роутом такую конструкцию { }
О, это несомненно самые полезные и информативные видео по фронтенду, которые мне попадались. Большое человеческое спасибо за труд!!!
Отменный контент: особенно когда паралельно набираешь - много тонкостей реализации замечаешь
чтоб ты был здоров) балдею с твоих уроков, подача на высоте, без лишней нудятины)
супер туториал! Ты большой молодец! Задаваясь вопросом "стоило ли мне покупать курс Full-stack JS", понял, что всё-таки стоило. Образования много не бывает - главное сидеть и упорно впитывать знания, а потом на практике тренировать. и потом надо в благодарность таким ребятам, как ты, тоже помогать молодняку учиться и становиться лучше.
Самый крутой из тех кого я встречал в русскоязычном Ютубе, успехов тебе!
Спасибо и взаимно!
современные герои не носят плащи и маски
они выглядят иначе)) 8:43
и просто выкладывают такие потрясающие фулстак проекты на ютуб с подробным объяснением, отличной подачей,
и даже спустя века (а именно 3 года) видео остается актуальным и супер мега полезным, спасибо)
Крутой ролик, спасибо!
Дошел до админки и не получалось перейти на /admin потому что по дефолту юзер не авторизован, AppRouter отрабатывает один раз и получается, что доступны только publicRoutes. Когда делаешь авторизацию, то глобальный стейт юзера меняется, но роуты заново не формируются и authRoutes все так же недоступны. Решил тем, что обернул AppRouter в observer.
Потом открыл исходный код и увидел, что AppRouter реально обернут в observer, хотя на видео этого не было)
Возможно, кому-то будет полезно
Огромное спасибо тебе за твои труды! Ты делаешь очень крутой и полезный контент! Успехов и продолжай в том же духе!
Спасибо за поддержку друг, очень ценю!
Спасибо за проделанную работу, это замечательно!
Спасибо друг! стараюсь)
Высший пилотаж) ты настолько быстро пишешь приложение и твои мысли настолько быстро, грамотно и системно строятся в очень грамотный код, что я банально порой не успеваю за ходом твоих мыслей, в тот момент когда ты эти мысли реализуешь в код, который приятно читать. Это очень здорово) Надеюсь через пару просмотров пойму больше :D
На самом деле я скорее тут изначально был ради фронтенд части, так как именно в этом направление стремлюсь, но на удивление бэк был тоже приятен и интересен, хоть конечно сложно много было понять, ни разу не работая с БД или с ORM Sequalize.
Столько шарил в ютубе и не мог найти тебя. Классный видос. Продолжай в том же духе
Ура🥳 Спасибо👏🏻👏🏻👏🏻👾👾👾ждала новое видео!!!
А я ждал ваш комментарий!) Спасибо!
Крутое видео с интересными технологиями, спасибо за уникальный контент! :)
Спасибо, Евгений, стараюсь!
Просто взрыв мозга. Я даже не новичок, а просто зритель. Сфера другая у меня. Но структура создания современного сайта и мне примерно ясно стало. Бесплатно и очень полезно. Красавчик, желаю еще больше успехов тебе!
а взрыва говна у тебя не было?
@@ЮрийТкенов У тебя он и произошёл, судя по твоему комменту)))
@@КириллСмирнов-ь5ъ ты логик или стрелочник или у тебя и то и другое взорвалось?
@@ЮрийТкенов я сливадик)))
Лучший, спасибо. Проходил эти три часа неделю, весь код писал сам, библиотеки обновились, в связи с этим пришлось исправить кучу ошибок, получил настоящий опыт. Хотите чему то научиться, не копируйте, а смотрите, слушайте, разбирайтесь и пишите код сами.
автор спасибо, все уроки платные , а тут бесплатно и без воды
Афигенский урок! Большое спасибо за проделанный труд.
Рад стараться, и вам спасибо за поддержку!)
Ролик просто АГОНЬ!!! еще не посмотрел, но уже нравится))) продолжай в этом же духе)
Крутая работа! Спасибо большое! Этот курс помогает людям больше практиковаться! Понятный разбор и логическая цепочка действий с объяснениями по каждому шагу продвижения к написанию кода интернет магазина📶
Ульби, лучший блогер, ставлю жирный лайк, я был бы рад видеть похожее видео с другим проектом на том же стеке.
МОЩНЕЙШЕЕ видео! Учился по нему без недели месяц и каждый раз было очень полезно. Спасибо большое, продолжай делать топовейший контент!)))
не думал, что уже и на русском есть такая годнота. что делать, подписался :D
Отличный туториал! Реально. Оставляю редко комменты, но тут прям нельзя мимо пройти.
Ещё, не бойся делать длинные ролики. В твоём случае это тока плюс. В моменте с валидацией ты об сказал. Люди, кто будет смотреть их, понимают ценность контента. Не переживай!
Спасибо друг!) Да я не боюсь их делать, просто людей, которые готовы потратить 3 часа на такой ролик я думаю найдется не много, 80% бросят не досмотрев до середины, тк тяжело осилить за раз такой курс
@@UlbiTV можно разбить на плейлист)
@@UlbiTV я смотрю понемногу просто и все. Уже второй день, сегодня планирую закончить
@@UlbiTV пожалуйста, делай больше, я понимаю что тебе важно количество просмотров, но нам тем кто насмотрелся мини уроков, важно иметь такие длинные курсы, дабы полностью подкрепить знания с мини уроков, в инете правда мало такого контента, а он очень нужен
@@UlbiTV я частично попал в эти 80%, потому как смотрю в 3 ночи и добавляю в плейлисты, досматривать буду на днях, на праздниках хотел выделить время на развертывание и т.п
Курс - бомба! Столько полезных примеров в одном видео не видел никогда. Прошел курс, все повторил, теперь на этой базе буду делать реальный проект с нуля. Благодарю!
Спасибо дружище! Успехов!
это просто топ из того что есть на русском, ты делаешь больше чем просто пилишь видос ты влияешь на развитИЕ , RESPECCTTTTTTTTTTTTT! ))))
Это топ! Отличная подача, качественный материал. Пойду остальные ролики смотреть))
Мой первый коммент за 10 лет использования ютуба твой
Спасибо за видео. Многие моменты индивидуальны. Но много полезной инфы. Можно время тратить на такое длинное видео, есть смысл. Спасибо
Можете зелёным прогерам и непонятно, но если есть хоть какой-то опыт работы то вашы видео--бомба! Это реально оооочень быстро помогает разобраться с оооочень обширными и сложными темами!!!
Блин спасибо тебе большое бро, спустя неделю я все же осилил этот ролик, и понял, что к чему.
Бро, ты лучший! Это мега годный видос, его просто обязан @youtubeteam продвинуть в тренды
Смотреть ещё не начал. Но уже все нравится. Спасиб парень. Красавец.
Hi! I can't understand your language but I love your style of coding..and thank you very much!
Thank you too, bro!)
Очень крутой курс, от души. Если кто сейчас проходит, то на серверной части в модуле models при создании DeviceInfo забыли добавить в таблицу строчку deviceId, поэтому при добавлении свойства инфо и девайс не матчились. Три дня шерстил весь код, не мог понять в чем причина
Чел, 2 месяца назад я разрабатывал уже свой проект, основываясь на коде из этого урока. В ходе разработки столкнулся с проблемой создания характеристик товара - ну не создавались они, никоим образом. 404 (или 403) ошибку мне в лицо плевало, и всё тут. Около месяца я искал на всевозможных площадках решение, даже заглядывал в актуальные комментарии этого видео, в надежде найти ответ. Сегодня захожу и вижу ключ решения проблемы, травившей мою жизнь! Спасибо!
@@xybabyba можете пожалуйста подробнее рассказать?
@Be_Goonner можете пожалуйста подробнее рассказать?
@@xybabyba Добрый день, подскажите как решить проблему, добавил deviceId: {type: DataTypes.STRING, allowNull: false для DeviceInfo - не помогло
Добрый день, подскажите как решить проблему, добавил deviceId: {type: DataTypes.STRING, allowNull: false для DeviceInfo - не помогло
если бы он знал что я его ролик месяц понимаю хе хе))) курс бест оф зе бест круче не найти спасибо огромное
Шикарная подача материала. Никаких соплей и воды. Однозначно один из лучших роликов по стеку PERN.
Нет слов просто!!! Это лучший контент на всём ру ютубе
Спасибо тебе огромное за твой труд!
Огромное спасибо автору. Посмотрел все и выполнил. Тоже 4 дня сидел :) Не уверен, но возможно в функцию "logOut" нужно добавить строку "localStorage.removeItem('token')" для того чтобы разлогиненый пользователь не авторизовывался автоматически при следующем запросе. Еще раз спасибо за отличный материал!
Супер! Сюда бы ещё ts и была бы вообще пушка!
Курс по TS в разработке, что то сегодня прям все просят))
@@UlbiTV воот nestjs )
@@UlbiTV Что ж не просить, раз есть у кого)
@@UlbiTV потому что всем нужен TS ))
@@UlbiTV через сколько выйдет?) очень ждёмс)
37:36 Если кто потерялся, как и я, то знайте: create - это метод объекта sequelize, а не наш. Хорошо расписан в доках по секвалайзу.
PS привык смотреть гайды на скорости х1.5. Уроки Тимура приходится смотреть в замедлении и постоянно возвращаться)) Очень плотная подача материала, спасибо!
@@Нико-ю6ь Похоже у тебя в models.js у модели категорий товаров в поле name стоит type: DataTypes.integer. integer - это число, нужно чтоб было type: DataTypes.string
спасибо что ответил черт
Посмотрел первые 4 мин и понял что будет очень продуктивно. Автоматом лайк и благодарность за труд
Этот ролик помог мне с дипломом, разложил всё как надо и показал откуда что взялось и для чего взялось
2:14:50 наверное в функцию logOut надо добавить
localStorage.removeItem('token')
иначе по нажатию кнопки выйти, после обновления страницы, пользователь будет в системе все равно, так как токен есть в хранилище
Если я этот момент упустил, то да, удалить токен однозначно надо)
За 3 часа сделать такой фул стэк проект с проектированием бд и этими технологиями конечно сильно 👍👍 Представляю сколько времени ушло на запись, спасибо за то, что вы делаете 👍
3 часа - это то, что вы видите)) по факту на это приложение ушло в разы больше) Спасибо!
@@UlbiTV а сколько времени вобще времени на все ушло?
@@vana__f7570 У него есть курс по реакту на 3 часа, так он вроде говорил что на него ушло около 40 часов.
Отличный ролик, спасибо. И отдельное спасибо за то, что не redux, а mobx.
Спасибо за познавательный и полезный материал. Подача информации лучшая из тех которые я встречал(она у вас грамотная и лаконичная)
Наверное, один из самых сложных курсов для моего понимания на этом канале, но развиваться нужно, спасибо)
Всем, кто посмотрел это удивительное видео, привет:). Хотел задать вопрос. Я смог добавить запись даже не авторизовавшись. После поисков ошибки выяснил, что нужно на роутрах, которые выполняют действия доступные авторизированным, вторым параметром отдавать authMiddeware, тогда все заработало корректно. Можно по этому поводу услышать чей-нибудь комментарий?:)
Если у кого то проблемы с , обязательно заменяйте эту запись на ,
Многие элементы в этом видео убраны из Node.js и React.js, гдето 70% информации имеет актуальность. Рекомендую пересмотреть также видео по курсу Node.js React.js максимум 2 годичной давности, желательно 1 год. Но имеем что имеем
О, подлетел контент для разбора:) спасибо большое!!! Сейчас нужна вставка из матрицы, где в затылок кабель втыкают и понеслось🤣
:D
Твой комментарий всегда жду с нетерпением!) Как посмотришь, дай обратную связь!
@@UlbiTV обязательно дам фидбэк:)👍👍
@@ipa_stor Ждус)
@@UlbiTV Полностью ознакомился:)) мне как-то говорили, что реляционки способствуют порядку в голове, теперь убедился наглядно(первый раз встретился на практике) и главное, что потребовалось, это прописать связи. Отдельное спасибо за таймкоды и пояснения для чайников, прямо выручает! :)) Есть еще пока некоторые сложности с фронтом, а именно контекстом, но думаю, это дело практики, а так, со всем разобрался, кроме одного момента: на 21:33, 67 строка, разве BasketDevice к Device и обратно не 1к1 связывается(hasOne?)? И если да, то при выборе более 1шт одного товара, это лучше обрабатывать на фронте, как я понимаю? Пс: теперь это видео буду кидать тем, кто попросит видео "с которого начать":))) раньше был мерн диск но он не такой структурно понятный!!! Ещё раз спасибо за видео!!!
Ура! У меня получилось сделать на react-redux toolkit 😀 все работает точно так же, как и на видео. Спасибо, Ульби! Отличный туториал
Посмотрел весь ролик)) Пушка!!!) Очень грамотно и понятно изложил) Большое спасибо! Бомби дальше)) Желаю тебе удачи))
Лучшее видео по фронтенд-бэкенд которое я видел. Быстро, четко и ясно без лишней суеты. Спасибо!