Капец раньше когда курсы любого программирования смотрел ничего от слова совсем не понимал и тупо точь в точь переписывал, потом устроился React разработчиком как стажер и работал бесплатно 3 месяца и начал понимать что и как но не до конца, и работал как фронтенд разработчик ивникался только в реакт. Теперь я работаю около 2 месяцев как джун фронтенд разраб и так как на работе нет особо много работы захотел делать пет проекты. И как же кайфово просто смотреть и понимать тупо все что слышу и вижу и я не тупо переписываю а переписываю теперь понимая
Красавчик! Очень достойно! Начинал смотреть твои видосы месяцев 7 назад, сейчас уже работаю фронтом, этот проет обязательно запилю. Именно в таких видосах можно выцепить реально полезную инфу
@@ДмитрийСитников-ш2х я ничего не крутил, но мой тебе совет ищи работу не только в своем городе, я в Питере и в Москве не нашел ибо конкуренция жесткая
c бекэндом не работал, но слушая тебя и твое обьяснение очень заинтерисовался) Обычно бекенд копирую не особо вникая. Тут же слушаешь как рассказ и впитываешь все. Надеюсь, что в голове останется осадок после этого проекта) Спасибо за труд
Очень трудоёмкая работа! Большое спасибо за старания! Еще не полностью прошёл урок, однако ты так доходчиво объясняешь даже для тех, кто совсем новичок, что просто хочется сказать спасибо. Не понимаю людей которые пишут что-то в духе: "Ой, увидел монго - скипаю автора" - жаль, таким сверхразумам зато не видно что автор использует ORM. Курам на смех. По факту видео просто золото для обучающихся. Кто учится - добивается своего) А тебе я желаю успехов с каналом и в карьере. Подписываюсь и буду ждать других проектов. Хотел бы еще спросить: Ты когда делаешь такие проекты - подсматриваешь на готовый код или на автомате всё пишешь? Потому что вызывает некоторый диссонанс то, насколько код на ходу у тебя пишется. Хотя конечно если бы тебе не приходилось подсматривать - ролик был бы уже неприличной длинны. Однако хочется убедиться. До какого уровня можно достичь знание стека)
Привет, у меня проблема с compose , у меня запускается мой compose stack но там работает только express-app , а дб запускается и сразу завершается, в чем может быть проблема
Лайк не глядя) как раз уже изучил react,redux/redux toolkit,react-redux, node.js+express+mongoose, ещё typescript с docker подучу и можно будет твой ролик посмотреть) А потом через несколько месяцев можно и на первый собес сгонять)
Молодец, поздравляю. Очень рад, что завершил. Не должно быть стыдно, потому что это видос на 11 часов, это паузы, обдумывания и тд и там далеко не 2 дня делать. Я надеюсь ты не зря потратил время и чему то научился! Успехов
Если у кого проблемка с internal server error после упаковки в контейнер через компоус - удалите все имэджы и контейнеры, поменяйте юзера и пароль к базе на admin admin, на маке с silicon процом проблемка с MongoDB дистрибутивом, ставить надо prismagraphql/mongo-single-replica:4.4.3-bionic
Что делать если при нажатии на профиль другого пользователя на странице постов Выдает ошибку 404 хотя компоненты подписок и подписчиков реализованы 9:32:30
@@maximroslowСпасибо вам за отличный контент! 🔥🔥🔥Очень сложно найти что-то стоящее у французских или англоязычных веб разработчиков в открытом доступе. Планирую пройти ваш курс, я в самом начале 😊
Для UI компонентов, которые являются оберткой для NEXT UI, типы пропсов, мне кажется, лучше наследовать от самого NEXT UI, чем переписывать их вручную, и уже потом добавлять свои или переопределять существующие.
Дружище, как я вовремя на тебя попал! Ты очень крутой, я очень давно хотел сделать бэк с фронтом в связке и выложить это на vps + еще и докер. А тут у тебя в видосе все это есть! Было бы еще круто, если бы ты сделал backend на nestjs и также запилил бы его на сервак. + я мб вскользь глянул, но есть вопрос. Тут мы запускаем через консольку сервера. А есть варик удаленно их просто запустить и чтобы они вечно сами там крутились?
Повторяю код за тобой, осталось два часа, много понятно, много непонятно) я не знаю сколько нужно учиться чтобы такое написать и знать что за чем нужно писать.
Нужно просто делать, учиться не надо. Страх будет всегда, но нужно просто начать. Продолжай стараться, находи время на изучение стандартных вещей и все будет хорошо 👌
Остановился только на 3:25:21 и заранее говорю спасибо. +- понимаю как реализовать уже свой следующий проект, есть понимание как подключить базу данных и ОРМ, как реализовать роуты и ещё много чего
Смотрю и завидую твоим навыкам... Расскажи как начал путь в веб-разработке, как изучал, и сколько времени у тебя это заняло, было бы очень интересно узнать
Всем привет! Подскажите пожалуйста. Возникла проблема после упаковки бэка в докер контенер, не получается достучатся до бэкенда снаружи. Все настройки строго по ролику, сам бэк в контенере работает так же на 3000 порту, и наружу так же прокинут 3000 порт, docker-compose работает исправно, запускает 2 контейнера в сети, судя по логам и бэк и база данных запускается исправно, а вот при попытке сделать запрос на бэк происходит вечный запрос, пока сам не отменишь... Подскажите пожалуйста куда копать, вчера весь день убил на гугление..... UPD: Короче сам тупил.... Когда cors подключал в Express, забыл его там вызвать
@@stasend Немного не понял, мы id того на кого подписываемся передаем в body в запросе и id текущего пользователя, под кем зашли, берем из request.user
Можно вопрос плиз - для вката на фронтенд джуна нужно знать юнит тестирование? И почему так трудно установить jest на vite сборке - все советуют там юзать vitest? Какие ты на работе используешь, если вообще тестированием занимаешься
Если честно за 4 года на проде в 3-х компаниях ни pазу не встречал unit тестирование - слышал о нем только в youtube и в вакансиях - возможно мой кейс это редкость, но больших настоящих проектов много.
Я потерялся((( Вместо nextUI какой-то heroUI, в tailwind теперь нет конфигурационного файла, а в heroUI нужно каким-то образом делать в нём изменения... ПАМАГИТЕЕЕ!!!
Привет, что лучше выбрать для написания бэкэнд серверов? express или springboot? Я просто слышал, что node.js серверы медленнее java серверов, так ещё и + не многопоточные? Насколько вообще востребованы express серверы?
обладаю крепкими знаниями джс и хорошей практикой, по базе знаю реакт. можно ли приступать к данному курсу или надо что то доучить из экосистемы реакта или того же докера?
08:08:25 в настройках расширения es7 react snippets можно убрать первый checkbox "Import react on top" и перезапустить VSCode, тогда "React" не будет импортиться по-умолчанию
@@maximroslow пока не знаю, когда повторяешь за другими то всегда получается)) Но возникла проблема через использование __dirname с ES6 я нашел решение. Но беда не пришла одна Jdenticon не работает с import from, пишет export by default is not available. Пришлось использовать Dice Bear
Кто знает почему try catch не сразу перехватывает ошибку? При попытке залогинится с невалидными данными ошибка в try catch не залетает, хотя в консоли ошибка появляется, а в try catch только со второго клика попадает UPD: нужно было подключить middleware в store
а при обновлении данных пользователя точно ничего не надо дописывать, у меня передается на сервер просто объект как я понял типа formdata но он пустой и ничего не меняется в бд?
7:11:45 У меня токен в редакс не появляется только isAuthenticated = true, а токен сверху в mutations выводится но в юзере нет в чем может быть проблема? я userSlice, userApi, api проверил все идетично твоему коду
@@maximroslow А как я могу вам ссылку скинуть на репазитории? у меня ник Dauka12 в гитхабе. Пожалуйста проверьте а то я совсем непонимаю где может быть ошибка
@@maximroslow я покапался поглуюже и обнаружил то что я в бэкенде совершил ошибку и возвращал токен как res.json(token) а надо было res.json( { token } )
Да, если сможешь запустить базу данных монго в режиме replica set. Обычно в монго не создают пользователя админа. Но тут мы запкскаем докер образ базы данных сразу с рутовым пользователем
9:57:54 - жесть у меня модалка лагает, прям тормозит. А когда жмешь "выберите файл" то вообще секунд 5 грузит файловую систему винды. Хотя комп хороший и проблема не на моей стороне
@@maximroslow Код у меня такой же как у тебя, а на сервер я еще не залил т.к. именно на этом таймкоде пока. Винда 10 у меня. Комп мощный, все остальное летает, а модалка почему-то прям лагает когда открыта А можешь наоборот скинуть свой готовый проект чтобы я чекнул, вдруг у меня и твой будет отображаться с лагами, и тогда проблема точно на моей стороне
Подскажите, пожалуйста, хочу сделать пагинацию с помощью RTK Query, то есть с фронта передавать параметр для номера страницы, а на беке его уже принимать, делать вычисления и отдавать обратно данные на фронт. Но никак не получается получить параметр на беке, потому что с фронта не могу его отправить. И в итоге, пагинацию получается сделать только на фронте. Такая же ситуация и с фильтрацией.
@@maximroslow Спасибо большое, как раз на странице постов в useGetAllPostsQuery({page}), подсказала, что в аргумент нужно объект передавать и получилось на беке получить данные) Так еще и typescript начал ругаться, создал новый тип: export type Posts = { posts: Post[] page: number } Норм же?
@@maximroslow И вообще возник вопрос, где лучше делать пагинацию и фильтрацию на стороне сервера или клиента? Ответ очевиден, что в зависимости от ситуации, но хотелось бы более конкретных примеров
заметил еще разницу,что у нас с вами после команды docker compose up по-разному выглядит containers в dоcker desktop.у меня там создалась папка ,в которой лежат db-1 и express-api-1, но у меня не удалились наши не связанные контейнеры, а увас их нет на видео
я решил проблему. ChatGPT вернее ))) Не смотря на то,что в .env у меня написано так: DATABASE_URL="mongodb://оdmеn:оdmеn@localhost:27018/mydatabase?authSource=admin&directConnection=true" То в файлу docker-compose нужно писать так: environment: DATABASE_URL: 'mongodb://оdmеn:оdmеn@db:27017/mydatabase?authSource=admin&directConnection=true' db: # База данных image: prismagraphql/mongo-single-replica:5.0.3 ports: - '27018:27017' как измените,введите эти команды : docker-compose down docker-compose up --build
не могу понять, как фиксить эту ошибку: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested есть ли тут такие же как я? macbook pro m1
Мне помогло следующее: в настройках докера settings --> general выбрать use virtualization framework, а в features in development поставить галочку на use rosetta for x86/amd64 emulation on Apple Silicon. В терминале команда docker run --platform linux/amd64 --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME="monty" -e MONGO_INITDB_ROOT_PASSWORD="pass" -d prismagraphql/mongo-single-replica:4.4.3-bionic
Я снова с проблемой, можете помочь пожалуйста, при билде react-clent мне консоль выдает ошибку: ERROR [react-app stage-1 2/3] COPY --from=build /usr/src/app/build /usr/share/nginx/html Проверил файлы все в них правильно написано, несколько раз пытался забилдить, менял основную деррикторию, кидал все 2 проекта в родну папку и все равно эта ошибка, не знаю что делать...
Была такая проблема несколько раз пока делал проект. Тут сказано, что путь к папке build с готовым реакт приложением, которую нужно скопировать в папку nginx не найден. нужно в докерфайле с реактом удалить все после npm run build. И посмотреть точно ли есть папка build в дерриктории /usr/src/app/build Такой путь мы указали в WORKDIR(рабочаяя папка) WORKDIR /usr/src/app Этот путь на самом деле можно как хочешь менять, это просто папка внутри контейнера. Docker автоматически создаст все папки внутри контейнера. Можно сделать WORKDIR /project только нужно потом не забыть что проект находиться внутри контейнера в папке /project и build будет там
Внедрить конечно можно, это же веб приложение. Но это время нужно, идеи такой не было, потому что очень долго делать, долго, потому что надо прочитать доку по socket.io попробовать сделать небольшой чат. Потом пытаться внедрить его сюда. Нужно подумать, как хранить переписку в базе данных, продумать дизайн и тд. В общем это много времени займет. Можешь попробовать, тут не то что бы сложно, а просто времени много на изучение пойдет
Подскажите пожалуйста у кого возникла проблема на 1:45:52: Prisma needs to perform transactions, which requires your MongoDB server to be run as a replica set Все делал как на видео кроме того, что запускал докер через: docker run --name mongo \ -p 27017:27017 \ -e MONGO_INITDB_ROOT_USERNAME="monty" \ -e MONGO_INITDB_ROOT_PASSWORD="pass" \ -d mongo:latest тк на m1 не запускалось через -d prismagraphql/mongo-single-replica:5.0.3
Нужна обязательно поддержка replica set внутри базы данных. Можешь запускать обычную монго, но внутри нее нужно включить как-то вот эту replica set. Я поэтому и выбрал такой образ, потому что там не нужно настраивать ничего
Мне кажется я нашел решение. Нужно использовать другую версию mongo. Вот рабочая команда: -p 27017:27017 \ -e MONGO_INITDB_ROOT_USERNAME="monty" \ -e MONGO_INITDB_ROOT_PASSWORD="pass" \ -d prismagraphql/mongo-single-replica:4.4.3-bionic Пишет что работает через эмуляцию и могут быть проблемы но я пока с ними не столкнулся. В любом случае лучше чем ничего. Если замечу какие то проблемы дополню пост.
@@monikaaaaaaaaaaaa у меня на этой версии не запускается контейнер как и было с той версией что предложил автор. работает только с "latest" но тогда тогда такая же ошибка с этой репликой сет (
Привет. Спасибо за шикарный курс. А как в нашем случае быстро и правильно создать такого пользователя, как суперадмин, чтобы он мог удалять любые посты и любые комментарии? Ну.. аналог модератора.. чтобы не лезть в базу и не искать пост или коммент, который нужно прибить, а залогинился, и возле всех постов (и возможно комментариев) есть корзина (кнопка удаления)? Спасибо.
Можешь подумать как задачка небольшая, как бы ты сделал это "словами". Какое условие должно быть, чтобы один пользователь мог удалять что-то. По дефолту нет никаких проверок, все могут удалять все. Но у нас есть проверка в контроллерах, которая проверят, удаляет ли коммент тот, кто его создал. github.com/brian7346/express-threads-api/blob/main/controllers/comment-controller.js#L41 Сюда нужно добавить проверку во всех таких контроллерах, удаляет тот кто создал или супер пользователь.
@@maximroslow Так, вернулся к проекту после небольшой паузы. Теперь два вопроса. 1. Дошёл до 07:31, не показывается в профиле картинка. Всё попробовал, и через Докер, и через просто запуск с VSCode одна и та же ошибка: Error: Failed to lookup view "error" in views directory "F:\Sites\express-api\views" Погуглив, увидел, что то проблема в именах файлов, то проблема, что не находит такой каталог views (мы же его в начале удалили). Пересобирал и Докер, и заново запускал с проекта и бек, и фронт - нуль реакции. Что ещё можно сделать? 2. Интересный вопрос - если дорабатывать проект так, чтобы можно было в пост вставить картинку (фото, хотя бы одно), чтобы было вообще шикарно (ну и по аналогии с другими сетями интересно сделать цитировние или репост) - то как с и с помощью чего это сделать? Ясно, что нужно менять модели Призмы и контроллёры, но как это сделать с меньшими затратами (да, хочется попробовать сделать аналог некоторых мастодонтов). Заранее спасибо ещё раз, Макс, за крутой проект. По поводу вопроса выше - добавил в проверку пользователя admin и superadmin - вроде норм, работает, спасибо за наводку..
Лайк и подписка👍 Максим, не получается скачать докер контейнер, пишет что имя "-р" не распознано как имя командлета(( На это влияет ли старая версия докера? Новую не получается установить, т.к. у меня Виндовс 10
@@СаидСаидов-е4л Ну ты скопируй сюда, мне кажется ты не так скопировал) Попробуй в новом терминале запустить, попробуй в powershell запустить. Docker compose у тебя есть, если тебе именно про флаг -p пишет
Запусти команду docker -version. Что пишет? В крайнем случае ты можешь сначала скачать образ docker pull prismagraphql/mongo-single-replica:5.0.3 а потом запустить прямо из приложения его, только нужно порт указать и 2 env переменные
@maximroslow docker run --name mongo \ -p 27017:27017 \ -e MONGO_INITDB_ROOT_USERNAME="monty" \ -e MONGO_INITDB_ROOT_PASSWORD="pass" \ -d prismagraphql/mongo-single-replica:5.0.3 Я про эти команды, в Гите просто нажал на кнопку копирования и вставил в вскод...
На 01:05:00, когда я пишу в консоль npx prisma db push выдаёт ошибку Environment variables loaded from .env Prisma schema loaded from prisma\schema.prisma Datasource "db": MongoDB database "mydatabase" at "localhost:27017" Error: MongoDB error Kind: SCRAM failure: Authentication failed., labels: {} 0: schema_core::commands::schema_push::Calculate `from` at schema-engine\core\src\commands\schema_push.rs:29 1: schema_core::state::SchemaPush at schema-engine\core\src\state.rs:433 как её решить так и не понял, на видео у тебя такой ошибки не было
@@maximroslow привет! у меня та же проблема, долго копался, пока не нашел как решить проблему, пробовал переустанавливать все, connection string правильный, вот лог докера: 2024-02-19 20:03:03 Error saving history file: FileOpenFailed Unable to open() file /home/mongodb/.dbshell: No such file or directory
@@koma8669 В докере смотрел в файловой системе, этот файл есть? Возможно нету прав на запись у тебя. Образ скачиваешь такой же как и в видео? Посмотри тут, не твоя ли проблема: github.com/docker-library/mongo/issues/323
@@maximroslow вчера тоже глядел этот issue, в докере в файловой системе не нашел этого файла, пытался создать сам - не помогло, образ тот же, думаю тут проблема уже какая-то непопулярная либо очень специфическая, а я в силу того что докер особо не знаю не могу в ней разобраться) я вот думаю может попробовать найти и использовать образ postgres тогда, нужно ли будет в призме модели переписывать в этом случае?
Тип RC это не понял что за тип, есть тип React.FC или React.FunctionalComponent, или можно просто FC, можно и другой тип указывать, но тут зависит от проекта, я привык писать React.FC а не задавать типы пропсам сразу. Не вижу в этом ничего плохого
Привет, нужна помощь, при запуске контейнера с mongodb выдает Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused Не знаю, что делать
Можно немного больше инфы? В ошибке тебе пишет "Не могу подрубиться к серваку". Запущена ли бд и тд? Что вообще до этого запускал, какие команды, что в докере у тебя показывает. Начинал проект сам или склонировал? Я не знаю, работаешь ли ты, но в реальной разработке тебе даже в чате никто не ответит если ты на проекте. Нужно всегда очень подробно описывать, что ты делал до этого, что предпринял для решения проблемы. Ты можешь и не знать докер, он тебе не нужен. тебе просто запустить бд надо, но то как ты опишешь проблему, на реальной работе поможет тебе. Так что давай подробнее)
@@maximroslow До работы в реальном проекте мне пока далеко, и поэтому я сейчас работаю один, пытался делать все как на видео, разбирая полностью код, и на моменте запуска бд в докере возникает ошибка - через 2 секунды после запуска просто выключается. Образ устанавливал как на видео, после того сообщения что я написал выше выдает(в логах докера): 2024-04-22 21:27:30 connect@src/mongo/shell/mongo.js:372:17 2024-04-22 21:27:30 @(connect):3:6 2024-04-22 21:27:30 exception: connect failed 2024-04-22 21:27:30 exiting with code 1 2024-04-22 21:29:44 Waiting for initialization... 2024-04-22 21:29:44 {"t":{"$date":"2024-04-22T18:29:44.442Z"},"s":"I", "c":"CONTROL", "id":20697, "ctx":"-","msg":"Renamed existing log file","attr":{"oldLogPath":"/var/tmp/mongod.log","newLogPath":"/var/tmp/mongod.log.2024-04-22T18-29-44"}} 2024-04-22 21:29:46 Initializing replica set... 2024-04-22 21:35:36 Waiting for initialization... 2024-04-22 21:35:36 {"t":{"$date":"2024-04-22T18:35:36.469Z"},"s":"I", "c":"CONTROL", "id":20697, "ctx":"-","msg":"Renamed existing log file","attr":{"oldLogPath":"/var/tmp/mongod.log","newLogPath":"/var/tmp/mongod.log.2024-04-22T18-35-36"}} 2024-04-22 21:35:38 Initializing replica set... 2024-04-22 21:29:46 /usr/local/bin/docker-entrypoint.sh: line 418: -u: command not found 2024-04-22 21:35:38 /usr/local/bin/docker-entrypoint.sh: line 418: -u: command not found Проект я начинал сам, и повторял в точности как на видео.
@@indigosay Никак не сохранить. Бессмысленно. Если прям нужны именно те данные, как вариант задеплоить в docker registry твою базу и на сервере уже скачать. Но это надо разбираться. В реальности не будет такого никогда. Для прода и дев разные базы данных. Можешь написать скрип заполнения базы данных db seeder называется. То есть скрипт который будет добавлять новых пользователей и создаст посты за них
Если у вас по каким-либо причинам на 10:34:37 пишет: failed to solve: failed to compute cache key: "/usr/src/app/dist" not found: not found и build не сохраняется в образе, то можете использовать вот такой докерфайл в клиенте, он мне помог (добавил одну лишь строчку): FROM node:19.5.0-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build RUN cp -r build /app_build FROM nginx:stable-alpine COPY --from=build /app_build /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 8000 CMD ["nginx", "-g", "daemon off;"]
ля я работаю джун Фронтенд разрабом. Я сейчас на 6:17:52 и мне фронт дается кудо хуже чем бэк. Я бэкенд этого проекта понял на 99% а для фронта постоянно захожу в гугл чтобы узнать что и что она значит
При попытке запустить контейнер получаю ошибку /usr/local/bin/docker-entrypoint.sh: line 418: -u: command not found. Кто-то сталкивался с этим? Буду благодарен ответу.
@@maximroslow у меня такая же проблема. Просто по какой-то причине не запускается база из курса prismagraphql/mongo-single-replica:5.0.3. Если устанавливать mongo:latest, то все работает. Правда еще порт поменял на 27018. Но вот вопрос, будет ли эта версия работать и дальше?
4:04:35 ля я через парамс сделал и все по сути работает. Разница будет если я так же продолжу делать? Во фронте думаю разницы особой не будет я же могу просто в парамс передать айди
При упаковке клиент части в докер такая ошибка, может у кого было, как пофиксить? Failed at the vite-template-redux@0.0.0 build script. This is probably not a problem with npm. There is likely additional logging output above.
@@maximroslow #0 6.439 npm ERR! code ELIFECYCLE #0 6.439 npm ERR! errno 2 #0 6.441 npm ERR! vite-template-redux@0.0.0 build: `tsc && vite build` #0 6.441 npm ERR! Exit status 2 #0 6.441 npm ERR! #0 6.441 npm ERR! Failed at the vite-template-redux@0.0.0 build script. #0 6.441 npm ERR! This is probably not a problem with npm. There is likely additional logging output above. #0 6.447 #0 6.447 npm ERR! A complete log of this run can be found in: #0 6.447 npm ERR! /root/.npm/_logs/2024-05-26T17_24_38_748Z-debug.log ------ failed to solve: executor failed running [/bin/sh -c npm run build]: exit code: 2 PS C:\Users\artur\WebstormProjects\social-app>
@@maximroslow емае, почему коммент удалился, еще 10 дней назад написал, ток щас заметил что пропал #0 6.699 npm ERR! code ELIFECYCLE #0 6.699 npm ERR! errno 2 #0 6.701 npm ERR! vite-template-redux@0.0.0 build: `tsc && vite build` #0 6.701 npm ERR! Exit status 2 #0 6.701 npm ERR! #0 6.701 npm ERR! Failed at the vite-template-redux@0.0.0 build script. #0 6.701 npm ERR! This is probably not a problem with npm. There is likely additional logging output above. #0 6.705 #0 6.705 npm ERR! A complete log of this run can be found in: #0 6.706 npm ERR! /root/.npm/_logs/2024-06-05T17_52_48_991Z-debug.log ------ failed to solve: executor failed running [/bin/sh -c npm run build]: exit code: 2
@@maximroslow #0 6.699 npm ERR! code ELIFECYCLE #0 6.699 npm ERR! errno 2 #0 6.701 npm ERR! vite-template-redux@0.0.0 build: `tsc && vite build` #0 6.701 npm ERR! Exit status 2 #0 6.701 npm ERR! #0 6.701 npm ERR! Failed at the vite-template-redux@0.0.0 build script. #0 6.701 npm ERR! This is probably not a problem with npm. There is likely additional logging output above. #0 6.705 #0 6.705 npm ERR! A complete log of this run can be found in: #0 6.706 npm ERR! /root/.npm/_logs/2024-06-05T17_52_48_991Z-debug.log ------ failed to solve: executor failed running [/bin/sh -c npm run build]: exit code: 2
Способ объяснения это прямо подарок с небес. Спасибо
Надеюсь ты это про клиентскую часть...
Очень рад, что мне попался твой видос, спасибо что запарился и сделал видос аж на 11 часов❤
Капец раньше когда курсы любого программирования смотрел ничего от слова совсем не понимал и тупо точь в точь переписывал, потом устроился React разработчиком как стажер и работал бесплатно 3 месяца и начал понимать что и как но не до конца, и работал как фронтенд разработчик ивникался только в реакт. Теперь я работаю около 2 месяцев как джун фронтенд разраб и так как на работе нет особо много работы захотел делать пет проекты. И как же кайфово просто смотреть и понимать тупо все что слышу и вижу и я не тупо переписываю а переписываю теперь понимая
на работе нет работы
@@jackshadows8073 факт
то есть как это нет работы на работе?
И за это вам платят?
@@talantasanov4973 ну я же написал что не особо их много а не нет но да платят
А можно устроиться к вам?))
Красавчик! Очень достойно! Начинал смотреть твои видосы месяцев 7 назад, сейчас уже работаю фронтом, этот проет обязательно запилю. Именно в таких видосах можно выцепить реально полезную инфу
брат, я тоже работу нашел, две недели как работаю фронтом, год занял обучение
Ребят, вы опыт крутили в резюме?
@@ДмитрийСитников-ш2х я ничего не крутил, но мой тебе совет ищи работу не только в своем городе, я в Питере и в Москве не нашел ибо конкуренция жесткая
@@ДмитрийСитников-ш2х да, но я проходил стажировку пару месяцев и примерно понял как в компаниях что происходит и сказал что год работал
Как учили, по сколько часов в день, много дали на первой работе по зп?
Автор красавчик! Серьёзная работа, простое и доходчивое объяснение. Материал супер!
c бекэндом не работал, но слушая тебя и твое обьяснение очень заинтерисовался) Обычно бекенд копирую не особо вникая. Тут же слушаешь как рассказ и впитываешь все. Надеюсь, что в голове останется осадок после этого проекта) Спасибо за труд
Все получилось! спасибо тебе огромное за обьяснение и за твой труд!!! Лучший!
Крутяк!
Больше больших проектов богу больших проектов!🔥🔥🔥
Только закончил. Всё работает. Спасибо!
Очень трудоёмкая работа! Большое спасибо за старания! Еще не полностью прошёл урок, однако ты так доходчиво объясняешь даже для тех, кто совсем новичок, что просто хочется сказать спасибо.
Не понимаю людей которые пишут что-то в духе: "Ой, увидел монго - скипаю автора" - жаль, таким сверхразумам зато не видно что автор использует ORM. Курам на смех.
По факту видео просто золото для обучающихся.
Кто учится - добивается своего) А тебе я желаю успехов с каналом и в карьере. Подписываюсь и буду ждать других проектов.
Хотел бы еще спросить: Ты когда делаешь такие проекты - подсматриваешь на готовый код или на автомате всё пишешь? Потому что вызывает некоторый диссонанс то, насколько код на ходу у тебя пишется. Хотя конечно если бы тебе не приходилось подсматривать - ролик был бы уже неприличной длинны. Однако хочется убедиться. До какого уровня можно достичь знание стека)
Искал медь, но нашел золото! Благодарю за крутой контент!
Привет, у меня проблема с compose , у меня запускается мой compose stack но там работает только express-app , а дб запускается и сразу завершается, в чем может быть проблема
18.01.20.25 начинаю проходить.
Судя по комментариям я нашел золото и пожалуй заранее поблагодарю автора за проделанную работу СПАСИБО😀
ДРУЖИЩЕ, ЗАМЕЧАТЕЛЬНЫЙ КОНТЕНТ И ПОДАЧА МАТЕРИАЛА. ПРОДОЛЖАЙ В ТОМ ЖЕ ДУХЕ!
Лайк не глядя) как раз уже изучил react,redux/redux toolkit,react-redux, node.js+express+mongoose, ещё typescript с docker подучу и можно будет твой ролик посмотреть) А потом через несколько месяцев можно и на первый собес сгонять)
стыдно, но почти 2 месяца потребовалось что бы закончить! )) спасибо за труды, приятно было слушать и учиться
Молодец, поздравляю. Очень рад, что завершил. Не должно быть стыдно, потому что это видос на 11 часов, это паузы, обдумывания и тд и там далеко не 2 дня делать. Я надеюсь ты не зря потратил время и чему то научился! Успехов
Нормально же я когда то 3 месяца повторял 4 часовой видеоролик от Арчкова. Но зато сейчас работаю программистоm(frontend)
@@dauletakhythan9595 долго так учился и легко ли нашел работу? Если не сложно, расскажи пожалуйста
Бомбовое видео чел, спасибо за старания
Супер контент! Не смог разобраться с mongodb, пришлось делать на mysql
мужик, спасибо тебе огромное за труды!
Спасибо тебе большое за твой труд!
Спасибо за вашу работу
дай бог тебе здоровья
Если у кого проблемка с internal server error после упаковки в контейнер через компоус - удалите все имэджы и контейнеры, поменяйте юзера и пароль к базе на admin admin, на маке с silicon процом проблемка с MongoDB дистрибутивом, ставить надо prismagraphql/mongo-single-replica:4.4.3-bionic
Спасибище!!!!Несколько дней пыталась решить проблему
@@ВалентинаЛеусенко-ю5е та не за что, сам случайно порешал, подумал, что я не один такой буду)
Спасибо за крутой урок!Есть вопрос: Ты использовал модули CommonJS, а не модули ES. Это лично тебе так удобно или есть какой-то нюанс в этом?
Там вроде проблема какая-то была, сейчас не вспомню, я не стал разбираться, начал писать как обычно
Бро, спасибо за полезный контент!
Что делать если при нажатии на профиль другого пользователя на странице постов
Выдает ошибку 404
хотя компоненты подписок и подписчиков реализованы
9:32:30
Благодарю!
Спасибо очень ко времени!
Prisma v5.17.0 Adds syntax highlighting, formatting, auto-completion => расширение для подсветки моделей. Очень удобно, успокаивает глаз !
@@nataliaboudard2664 Спасибо! Поставлю себе
@@maximroslowСпасибо вам за отличный контент! 🔥🔥🔥Очень сложно найти что-то стоящее у французских или англоязычных веб разработчиков в открытом доступе. Планирую пройти ваш курс, я в самом начале 😊
Вот это курс 🔥🔥🔥🔥
Благодарю!
не было-не было
КААААККККК! бахнул на 11 часов видос))
не бахнул, а бабахнул! ))
Для UI компонентов, которые являются оберткой для NEXT UI, типы пропсов, мне кажется, лучше наследовать от самого NEXT UI, чем переписывать их вручную, и уже потом добавлять свои или переопределять существующие.
Огромное спасибо!!!!
Да, пожалуйста, надеюсь хоть как-то поможет
Большая тебе благодарность)))
3:41:02
Можно описать ошибку так "Вы не поставили лайк данному посту"
Спасибо большое за такой крутой контент бро
Спасибо!
Дружище, как я вовремя на тебя попал!
Ты очень крутой, я очень давно хотел сделать бэк с фронтом в связке и выложить это на vps + еще и докер. А тут у тебя в видосе все это есть!
Было бы еще круто, если бы ты сделал backend на nestjs и также запилил бы его на сервак.
+ я мб вскользь глянул, но есть вопрос. Тут мы запускаем через консольку сервера. А есть варик удаленно их просто запустить и чтобы они вечно сами там крутились?
Повторяю код за тобой, осталось два часа, много понятно, много непонятно) я не знаю сколько нужно учиться чтобы такое написать и знать что за чем нужно писать.
Нужно просто делать, учиться не надо. Страх будет всегда, но нужно просто начать. Продолжай стараться, находи время на изучение стандартных вещей и все будет хорошо 👌
Остановился только на 3:25:21 и заранее говорю спасибо. +- понимаю как реализовать уже свой следующий проект, есть понимание как подключить базу данных и ОРМ, как реализовать роуты и ещё много чего
Отлично! Рад слышать
@@maximroslow И вот я дошел до конца :) Спасибо.
Видео крутое! ❤
Смотрю и завидую твоим навыкам... Расскажи как начал путь в веб-разработке, как изучал, и сколько времени у тебя это заняло, было бы очень интересно узнать
Всем привет! Подскажите пожалуйста.
Возникла проблема после упаковки бэка в докер контенер, не получается достучатся до бэкенда снаружи. Все настройки строго по ролику, сам бэк в контенере работает так же на 3000 порту, и наружу так же прокинут 3000 порт, docker-compose работает исправно, запускает 2 контейнера в сети, судя по логам и бэк и база данных запускается исправно, а вот при попытке сделать запрос на бэк происходит вечный запрос, пока сам не отменишь... Подскажите пожалуйста куда копать, вчера весь день убил на гугление.....
UPD: Короче сам тупил.... Когда cors подключал в Express, забыл его там вызвать
можешь описать что именно сделал? а то я хз та же проблема
@@dauletakhythan9595У меня была проблема с подключением Cors, точнее я его подключил, но забыл вызвать в бэке
3:59:46 Когда мы делаем контроллер подписок, какой нужно передавать айдишник, когда unfollow делаешь? Там любой айди подставляешь, любой подходит.
id того, от кого ты отписываешься
@@maximroslow зачем тогда его вытаскивать из body, если мы через params передаем?
@@stasend Немного не понял, мы id того на кого подписываемся передаем в body в запросе и id текущего пользователя, под кем зашли, берем из request.user
Можно вопрос плиз - для вката на фронтенд джуна нужно знать юнит тестирование?
И почему так трудно установить jest на vite сборке - все советуют там юзать vitest? Какие ты на работе используешь, если вообще тестированием занимаешься
Если честно за 4 года на проде в 3-х компаниях ни pазу не встречал unit тестирование - слышал о нем только в youtube и в вакансиях - возможно мой кейс это редкость, но больших настоящих проектов много.
тут используется только React, TypeScript, Redux Toolkit ? как раз с базой данных технологий ознакомился , приступать можно?
Спасибо огромное
Я потерялся((( Вместо nextUI какой-то heroUI, в tailwind теперь нет конфигурационного файла, а в heroUI нужно каким-то образом делать в нём изменения... ПАМАГИТЕЕЕ!!!
03:46 хорошей практикой будет устанавливать переменные в Постмане, чтобы токен вручную везде не менять)
Не знал про это, круто)
Привет, что лучше выбрать для написания бэкэнд серверов? express или springboot? Я просто слышал, что node.js серверы медленнее java серверов, так ещё и + не многопоточные? Насколько вообще востребованы express серверы?
Для таких проектов смысла нету java/kotlin тут все одним пользователем ограничивается. В крупных компаниях либо spring, либо go, может rust еще
Спасибо за старание, такое чувство что код был сгенерировн GPT
обладаю крепкими знаниями джс и хорошей практикой, по базе знаю реакт. можно ли приступать к данному курсу или надо что то доучить из экосистемы реакта или того же докера?
По ходу видео определишь что выучить нужно. Начинай. Я такой же как ты.
Максим подскажи, нужно ли обладать базовыми знаниями в мого дб и TypeScript для реализации проекта?
Желательно конечно с базами данных иметь опыт. А то что именно монго роли не играет, у нас ORM будет.
У меня такой вопрос насколько хорошая или плохая идея хранить аватарки в uploads? То есть в файле кода?
08:08:25 в настройках расширения es7 react snippets можно убрать первый checkbox "Import react on top" и перезапустить VSCode, тогда "React" не будет импортиться по-умолчанию
Супер, спасибо, всегда раздражает, что еще и реакт импортируется
Как успехи, все получается?
@@maximroslow зато бывает полезно что не надо импортить реактовские хуки а писать типо React.useEffect, React.useState
@@maximroslow пока не знаю, когда повторяешь за другими то всегда получается)) Но возникла проблема через использование __dirname с ES6 я нашел решение. Но беда не пришла одна Jdenticon не работает с import from, пишет export by default is not available. Пришлось использовать Dice Bear
Спасибо
Спасибо!
Подскажите пожалуйста,как можно сделать тоже самое но без докера?
Можеш сделать видео с фул авторизацией (имею в виду с refresh and acess token) на rtk query?
Хорош!
Максим. Спасибо мэээн
Кто знает почему try catch не сразу перехватывает ошибку? При попытке залогинится с невалидными данными ошибка в try catch не залетает, хотя в консоли ошибка появляется, а в try catch только со второго клика попадает
UPD: нужно было подключить middleware в store
а будет объяснение как чат добавить с возможностью переписываться?
а при обновлении данных пользователя точно ничего не надо дописывать, у меня передается на сервер просто объект как я понял типа formdata но он пустой и ничего не меняется в бд?
по итогу получилось только обычный объект отправить и все работает, кроме файла, так как в formdata не принимает я хз
4:31:30 наверное он имел ввиду что он перенёс запросы с помощью createAsyncThunk в RTK Query
Наверное да, но только догадываться можно
тигр нейки💪
03:28 А если я хочу сделать универсальную модель лайков, где можно лайкать всё, то что мне в БД в схеме прописывать?
Автоматически не получится, нужно делать связь модели того, что хочешь лайкать с моделью лайков
7:11:45 У меня токен в редакс не появляется только isAuthenticated = true, а токен сверху в mutations выводится но в юзере нет в чем может быть проблема? я userSlice, userApi, api проверил все идетично твоему коду
Есть возможность репозиторий скинуть? Это код надо смотреть, скорее всего ошибся где-то
@@maximroslow А как я могу вам ссылку скинуть на репазитории? у меня ник Dauka12 в гитхабе. Пожалуйста проверьте а то я совсем непонимаю где может быть ошибка
@@maximroslow я понял в чем ошибка но не знаю почему это так работает. у меня в userSlice токен возвращает action.payload а не action.payload.token
@@maximroslow я покапался поглуюже и обнаружил то что я в бэкенде совершил ошибку и возвращал токен как res.json(token) а надо было res.json( { token } )
🔥🔥🔥
Let Code With Me.... как к SupaBase относишься?
возможно ли проходить этот курс без докера?
Да, если сможешь запустить базу данных монго в режиме replica set. Обычно в монго не создают пользователя админа. Но тут мы запкскаем докер образ базы данных сразу с рутовым пользователем
есть расширение для призмы, называется просто Prisma, очень удобное
Спасибо! Буду знать
9:57:54 - жесть у меня модалка лагает, прям тормозит. А когда жмешь "выберите файл" то вообще секунд 5 грузит файловую систему винды. Хотя комп хороший и проблема не на моей стороне
Можешь скинуть репо, я гляну? Не должно быть такого
И скажи что у тебя за винда, у меня на винде например все команды npm очень долго выполняет, а маке меньше секунды, уже привык
@@maximroslow Код у меня такой же как у тебя, а на сервер я еще не залил т.к. именно на этом таймкоде пока.
Винда 10 у меня. Комп мощный, все остальное летает, а модалка почему-то прям лагает когда открыта
А можешь наоборот скинуть свой готовый проект чтобы я чекнул, вдруг у меня и твой будет отображаться с лагами, и тогда проблема точно на моей стороне
@@warcraft.mp4889 Это фронт: github.com/brian7346/react-threads
это бэк: github.com/brian7346/express-threads-api
Подскажите, пожалуйста, хочу сделать пагинацию с помощью RTK Query, то есть с фронта передавать параметр для номера страницы, а на беке его уже принимать, делать вычисления и отдавать обратно данные на фронт. Но никак не получается получить параметр на беке, потому что с фронта не могу его отправить. И в итоге, пагинацию получается сделать только на фронте. Такая же ситуация и с фильтрацией.
Пагинация для чего, для постов?
Для постов нужно cначала изменить контроллер на бэке:
post-controller.js
getAllPosts: async (req, res) => {
const userId = req.user.userId;
// Будем передавать в query params с клиента
const page = parseInt(req.query.page) || 1;
const limit = parseInt(req.query.limit) || 10; // Установите значение по умолчанию для ограничения
const skip = (page - 1) * limit;
try {
const posts = await prisma.post.findMany({
include: {
likes: true,
author: true,
comments: true
},
orderBy: {
createdAt: 'desc'
},
skip: skip,
take: limit
});
const postsWithLikeInfo = posts.map(post => ({
...post,
likedByUser: post.likes.some(like => like.userId === userId)
}));
res.json(postsWithLikeInfo);
} catch (err) {
res.status(500).json({ error: 'Произошла ошибка при получении постов' });
}
},
redux:
postsApi.ts
getAllPosts: builder.query({
query: ({ page = 1, limit = 10 }) => ({
url: `/posts?page=${page}&limit=${limit}`,
method: "GET",
}),
}),
@@maximroslow Спасибо большое, как раз на странице постов в useGetAllPostsQuery({page}), подсказала, что в аргумент нужно объект передавать и получилось на беке получить данные) Так еще и typescript начал ругаться, создал новый тип:
export type
Posts = {
posts: Post[]
page: number
}
Норм же?
@@maximroslow И вообще возник вопрос, где лучше делать пагинацию и фильтрацию на стороне сервера или клиента? Ответ очевиден, что в зависимости от ситуации, но хотелось бы более конкретных примеров
@@DN37573 Да, тип нормальный
Делаю docker compose up - все загружается,но при регистрации выскакивает Enternal server error. в консоли такая ошибка:
express-app-1 | error in register PrismaClientKnownRequestError:
express-app-1 | Invalid `prisma.user.findUnique()` invocation in
express-app-1 | /app/controllers/user-controller.js:19:52
express-app-1 |
express-app-1 | 16 }
express-app-1 | 17
express-app-1 | 18 try {
express-app-1 | → 19 const existingUser = await prisma.user.findUnique(
express-app-1 | Raw query failed. Code: `unknown`. Message: `Kind: Server selection timeout: No available servers. Topology: { Type: Single, Servers: [ { Address: db:27018, Type: Unknown, Error: Kind: I/O error: Connection refused (os error 111), labels: {} } ] }, labels: {}`
express-app-1 | at _n.handleRequestError (/app/node_modules/@prisma/client/runtime/library.js:123:6854)
express-app-1 | at _n.handleAndLogRequestError (/app/node_modules/@prisma/client/runtime/library.js:123:6188)
express-app-1 | at _n.request (/app/node_modules/@prisma/client/runtime/library.js:123:5896)
express-app-1 | at async l (/app/node_modules/@prisma/client/runtime/library.js:128:10871)
express-app-1 | at async register (/app/controllers/user-controller.js:19:34) {
express-app-1 | code: 'P2010',
express-app-1 | clientVersion: '5.10.2',
express-app-1 | meta: {
express-app-1 | modelName: 'User',
express-app-1 | code: 'unknown',
express-app-1 | message: 'Kind: Server selection timeout: No available servers. Topology: { Type: Single, Servers: [ { Address: db:27018, Type: Unknown, Error: Kind: I/O error: Connection refused (os error 111), labels: {} } ] }, labels: {}'
express-app-1 | }
express-app-1 | }
express-app-1 | POST /api/register 500 30042.662 ms - 33
В docker-compose.yml указывал ports: - "27018:27017" ибо была такая же ошибка,как у других пользователей,что на 27017:27017 не создавался
заметил еще разницу,что у нас с вами после команды docker compose up по-разному выглядит containers в dоcker desktop.у меня там создалась папка ,в которой лежат db-1 и express-api-1, но у меня не удалились наши не связанные контейнеры, а увас их нет на видео
я решил проблему. ChatGPT вернее )))
Не смотря на то,что в .env у меня написано так:
DATABASE_URL="mongodb://оdmеn:оdmеn@localhost:27018/mydatabase?authSource=admin&directConnection=true"
То в файлу docker-compose нужно писать так:
environment:
DATABASE_URL: 'mongodb://оdmеn:оdmеn@db:27017/mydatabase?authSource=admin&directConnection=true'
db: # База данных
image: prismagraphql/mongo-single-replica:5.0.3
ports:
- '27018:27017'
как измените,введите эти команды :
docker-compose down
docker-compose up --build
даа, такая же ошибка. Запросы работают только при запуске в консоли "nodemon ./bin/www" и первого собранного контейнера на порту 27017:27017
вы не решили эту проблему?
@@richardleshik7477 получилось решить?
Добрый день. Подскажите почему при запуске контейнера он тут же останавливается с ошибкой "exiting with code 1"
Логи контейнера надо смотреть, что-то не собралось
Спасибо решил вроде проблему использовал другой образ
@@alexdev75 А ошибку не смотрел? Главное чтобы там replica set была возможность делать, если ты про монго
Вроде заработало с другим образом база создалась дальше посмотрим
@@alexdev75 Можешь подсказать, какой образ использовать начал?
не могу понять, как фиксить эту ошибку: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
есть ли тут такие же как я? macbook pro m1
Мне помогло следующее: в настройках докера settings --> general выбрать use virtualization framework, а в features in development поставить галочку на use rosetta for x86/amd64 emulation on Apple Silicon. В терминале команда docker run --platform linux/amd64 --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME="monty" -e MONGO_INITDB_ROOT_PASSWORD="pass" -d prismagraphql/mongo-single-replica:4.4.3-bionic
@@juliajulia9732 Блин, у меня нет галочки с Rosetta. Какая версия Docker Desktop у вас стоит?
@@timetorok 4.17.0
@@timetorok features in development у меня тоже во вкладке settings
@@juliajulia9732 Спасибо, попробую откатить версию до твоей, позже дам фидбэк
5:01:20 не могу понять зачем нужно писать типы два раза?
Первый тип это тип ответа, второй тип это тип данных которые отсылаем
@@maximroslow спасибо большое)❤️
Ребята, что за расширение которое показывает пробелы точками?
В вс код надо в настройках найти Render Whitespace и поставить all
Я снова с проблемой, можете помочь пожалуйста, при билде react-clent мне консоль выдает ошибку:
ERROR [react-app stage-1 2/3] COPY --from=build /usr/src/app/build /usr/share/nginx/html
Проверил файлы все в них правильно написано, несколько раз пытался забилдить, менял основную деррикторию, кидал все 2 проекта в родну папку и все равно эта ошибка, не знаю что делать...
Была такая проблема несколько раз пока делал проект. Тут сказано, что путь к папке build с готовым реакт приложением, которую нужно скопировать в папку nginx не найден.
нужно в докерфайле с реактом удалить все после npm run build. И посмотреть точно ли есть папка build в дерриктории /usr/src/app/build
Такой путь мы указали в WORKDIR(рабочаяя папка)
WORKDIR /usr/src/app
Этот путь на самом деле можно как хочешь менять, это просто папка внутри контейнера.
Docker автоматически создаст все папки внутри контейнера. Можно сделать
WORKDIR /project
только нужно потом не забыть что проект находиться внутри контейнера в папке /project и build будет там
Макс, есть идеи внедрить в этот проект мессенджер, было бы интересно посмотреть, пытаюсь сделать сам, но не получается?
Внедрить конечно можно, это же веб приложение. Но это время нужно, идеи такой не было, потому что очень долго делать, долго, потому что надо прочитать доку по socket.io попробовать сделать небольшой чат. Потом пытаться внедрить его сюда. Нужно подумать, как хранить переписку в базе данных, продумать дизайн и тд. В общем это много времени займет. Можешь попробовать, тут не то что бы сложно, а просто времени много на изучение пойдет
Подскажите пожалуйста у кого возникла проблема на 1:45:52:
Prisma needs to perform transactions, which requires your MongoDB server to be run as a replica set
Все делал как на видео кроме того, что запускал докер через:
docker run --name mongo \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME="monty" \
-e MONGO_INITDB_ROOT_PASSWORD="pass" \
-d mongo:latest
тк на m1 не запускалось через -d prismagraphql/mongo-single-replica:5.0.3
Нужна обязательно поддержка replica set внутри базы данных. Можешь запускать обычную монго, но внутри нее нужно включить как-то вот эту replica set. Я поэтому и выбрал такой образ, потому что там не нужно настраивать ничего
Мне кажется я нашел решение. Нужно использовать другую версию mongo. Вот рабочая команда:
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME="monty" \
-e MONGO_INITDB_ROOT_PASSWORD="pass" \
-d prismagraphql/mongo-single-replica:4.4.3-bionic
Пишет что работает через эмуляцию и могут быть проблемы но я пока с ними не столкнулся. В любом случае лучше чем ничего. Если замечу какие то проблемы дополню пост.
@@monikaaaaaaaaaaaa Круто, что нашел решение, надеюсь поможет 💪
@@monikaaaaaaaaaaaa у меня на этой версии не запускается контейнер как и было с той версией что предложил автор. работает только с "latest"
но тогда тогда такая же ошибка с этой репликой сет (
Я фронтендер, как мне бек забрать? И пилить ток фронт приложение?
Я не очень понимаю как их склеит мужлу двумя подскажите пожалуйста
В репозитории сервера есть отельная ветка с server, запускается одной командой "docker compose up"
github.com/brian7346/express-threads-api
Привет. Спасибо за шикарный курс. А как в нашем случае быстро и правильно создать такого пользователя, как суперадмин, чтобы он мог удалять любые посты и любые комментарии? Ну.. аналог модератора.. чтобы не лезть в базу и не искать пост или коммент, который нужно прибить, а залогинился, и возле всех постов (и возможно комментариев) есть корзина (кнопка удаления)? Спасибо.
Можешь подумать как задачка небольшая, как бы ты сделал это "словами". Какое условие должно быть, чтобы один пользователь мог удалять что-то.
По дефолту нет никаких проверок, все могут удалять все. Но у нас есть проверка в контроллерах, которая проверят, удаляет ли коммент тот, кто его создал.
github.com/brian7346/express-threads-api/blob/main/controllers/comment-controller.js#L41
Сюда нужно добавить проверку во всех таких контроллерах, удаляет тот кто создал или супер пользователь.
@@maximroslow Так, вернулся к проекту после небольшой паузы. Теперь два вопроса. 1. Дошёл до 07:31, не показывается в профиле картинка. Всё попробовал, и через Докер, и через просто запуск с VSCode одна и та же ошибка: Error: Failed to lookup view "error" in views directory "F:\Sites\express-api\views" Погуглив, увидел, что то проблема в именах файлов, то проблема, что не находит такой каталог views (мы же его в начале удалили). Пересобирал и Докер, и заново запускал с проекта и бек, и фронт - нуль реакции. Что ещё можно сделать? 2. Интересный вопрос - если дорабатывать проект так, чтобы можно было в пост вставить картинку (фото, хотя бы одно), чтобы было вообще шикарно (ну и по аналогии с другими сетями интересно сделать цитировние или репост) - то как с и с помощью чего это сделать? Ясно, что нужно менять модели Призмы и контроллёры, но как это сделать с меньшими затратами (да, хочется попробовать сделать аналог некоторых мастодонтов). Заранее спасибо ещё раз, Макс, за крутой проект. По поводу вопроса выше - добавил в проверку пользователя admin и superadmin - вроде норм, работает, спасибо за наводку..
Лайк и подписка👍 Максим, не получается скачать докер контейнер, пишет что имя "-р" не распознано как имя командлета(( На это влияет ли старая версия докера? Новую не получается установить, т.к. у меня Виндовс 10
Какую команду вводишь? У меня тоже win10
@@maximroslow ну те команды с гит, для установки базы с монго через докер...
@@СаидСаидов-е4л Ну ты скопируй сюда, мне кажется ты не так скопировал) Попробуй в новом терминале запустить, попробуй в powershell запустить. Docker compose у тебя есть, если тебе именно про флаг -p пишет
Запусти команду docker -version. Что пишет? В крайнем случае ты можешь сначала скачать образ docker pull prismagraphql/mongo-single-replica:5.0.3 а потом запустить прямо из приложения его, только нужно порт указать и 2 env переменные
@maximroslow
docker run --name mongo \ -p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME="monty" \ -e MONGO_INITDB_ROOT_PASSWORD="pass" \
-d prismagraphql/mongo-single-replica:5.0.3
Я про эти команды, в Гите просто нажал на кнопку копирования и вставил в вскод...
На 01:05:00, когда я пишу в консоль npx prisma db push выдаёт ошибку
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Datasource "db": MongoDB database "mydatabase" at "localhost:27017"
Error: MongoDB error
Kind: SCRAM failure: Authentication failed., labels: {}
0: schema_core::commands::schema_push::Calculate `from`
at schema-engine\core\src\commands\schema_push.rs:29
1: schema_core::state::SchemaPush
at schema-engine\core\src\state.rs:433
как её решить так и не понял, на видео у тебя такой ошибки не было
Скинь connection string и скинь команду, которую ты запускал, чтобы базу данных поднять. По ошибке вроде как ты не те данные для входа указал.
connection string это переменная DATABASE_URL,
@@maximroslow привет! у меня та же проблема, долго копался, пока не нашел как решить проблему, пробовал переустанавливать все, connection string правильный, вот лог докера:
2024-02-19 20:03:03 Error saving history file: FileOpenFailed Unable to open() file /home/mongodb/.dbshell: No such file or directory
@@koma8669 В докере смотрел в файловой системе, этот файл есть? Возможно нету прав на запись у тебя. Образ скачиваешь такой же как и в видео?
Посмотри тут, не твоя ли проблема: github.com/docker-library/mongo/issues/323
@@maximroslow вчера тоже глядел этот issue, в докере в файловой системе не нашел этого файла, пытался создать сам - не помогло, образ тот же, думаю тут проблема уже какая-то непопулярная либо очень специфическая, а я в силу того что докер особо не знаю не могу в ней разобраться) я вот думаю может попробовать найти и использовать образ postgres тогда, нужно ли будет в призме модели переписывать в этом случае?
почему не прописывает к компонентам тип RC?
Можешь конкретнее написать, я что-то не понял, в каком-то конкретном месте или как?
Тип RC это не понял что за тип, есть тип React.FC или React.FunctionalComponent, или можно просто FC, можно и другой тип указывать, но тут зависит от проекта, я привык писать React.FC а не задавать типы пропсам сразу. Не вижу в этом ничего плохого
Привет, нужна помощь, при запуске контейнера с mongodb выдает Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused
Не знаю, что делать
Можно немного больше инфы? В ошибке тебе пишет "Не могу подрубиться к серваку". Запущена ли бд и тд? Что вообще до этого запускал, какие команды, что в докере у тебя показывает. Начинал проект сам или склонировал?
Я не знаю, работаешь ли ты, но в реальной разработке тебе даже в чате никто не ответит если ты на проекте. Нужно всегда очень подробно описывать, что ты делал до этого, что предпринял для решения проблемы. Ты можешь и не знать докер, он тебе не нужен. тебе просто запустить бд надо, но то как ты опишешь проблему, на реальной работе поможет тебе. Так что давай подробнее)
@@maximroslow До работы в реальном проекте мне пока далеко, и поэтому я сейчас работаю один, пытался делать все как на видео, разбирая полностью код, и на моменте запуска бд в докере возникает ошибка - через 2 секунды после запуска просто выключается. Образ устанавливал как на видео, после того сообщения что я написал выше выдает(в логах докера):
2024-04-22 21:27:30 connect@src/mongo/shell/mongo.js:372:17
2024-04-22 21:27:30 @(connect):3:6
2024-04-22 21:27:30 exception: connect failed
2024-04-22 21:27:30 exiting with code 1
2024-04-22 21:29:44 Waiting for initialization...
2024-04-22 21:29:44 {"t":{"$date":"2024-04-22T18:29:44.442Z"},"s":"I", "c":"CONTROL", "id":20697, "ctx":"-","msg":"Renamed existing log file","attr":{"oldLogPath":"/var/tmp/mongod.log","newLogPath":"/var/tmp/mongod.log.2024-04-22T18-29-44"}}
2024-04-22 21:29:46 Initializing replica set...
2024-04-22 21:35:36 Waiting for initialization...
2024-04-22 21:35:36 {"t":{"$date":"2024-04-22T18:35:36.469Z"},"s":"I", "c":"CONTROL", "id":20697, "ctx":"-","msg":"Renamed existing log file","attr":{"oldLogPath":"/var/tmp/mongod.log","newLogPath":"/var/tmp/mongod.log.2024-04-22T18-35-36"}}
2024-04-22 21:35:38 Initializing replica set...
2024-04-22 21:29:46 /usr/local/bin/docker-entrypoint.sh: line 418: -u: command not found
2024-04-22 21:35:38 /usr/local/bin/docker-entrypoint.sh: line 418: -u: command not found
Проект я начинал сам, и повторял в точности как на видео.
Нашел решение - вместо
docker run --name mongo \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME="monty" \
-e MONGO_INITDB_ROOT_PASSWORD="pass" \
-d prismagraphql/mongo-single-replica:5.0.3
нужно написать
docker run --name mongo \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME="monty" \
-e MONGO_INITDB_ROOT_PASSWORD="pass" \
-d mongo:latest (или определенную версию)
@@Contrl52 Красава что нашел, это и важно на работе, что смог решить проблему, а не то что выучил что такое докер) Респект
решил проблему. просто использовал зависимости такие же как у автора и взял такую же версию монго
А если деплоить подобный проект база данных всегда будет обнуляться?
Да
@@maximroslow как сохранять бд при переносе на сервер?
@@indigosay Никак не сохранить. Бессмысленно. Если прям нужны именно те данные, как вариант задеплоить в docker registry твою базу и на сервере уже скачать. Но это надо разбираться. В реальности не будет такого никогда. Для прода и дев разные базы данных.
Можешь написать скрип заполнения базы данных db seeder называется. То есть скрипт который будет добавлять новых пользователей и создаст посты за них
@@maximroslow а как бекапы делать тогда?
@@indigosay вот тут написано, я думаю быстрее было бы в гугле поискать
www.mongodb.com/docs/manual/tutorial/backup-and-restore-tools/
Если у вас по каким-либо причинам на 10:34:37 пишет:
failed to solve: failed to compute cache key: "/usr/src/app/dist" not found: not found
и build не сохраняется в образе, то можете использовать вот такой докерфайл в клиенте, он мне помог (добавил одну лишь строчку):
FROM node:19.5.0-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
RUN cp -r build /app_build
FROM nginx:stable-alpine
COPY --from=build /app_build /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 8000
CMD ["nginx", "-g", "daemon off;"]
Большое спасибо, помогло!
Мне интересно что делает строчка RUN cp -r build /app_build , cпасибо что разобрался и помог некоторым
Спасибо! Как раз такая ошибка вылезла
Здравствуйте! А где найти макет ?
Макета нету, все из головы придумал
ля я работаю джун Фронтенд разрабом. Я сейчас на 6:17:52 и мне фронт дается кудо хуже чем бэк. Я бэкенд этого проекта понял на 99% а для фронта постоянно захожу в гугл чтобы узнать что и что она значит
При попытке запустить контейнер получаю ошибку /usr/local/bin/docker-entrypoint.sh: line 418: -u: command not found. Кто-то сталкивался с этим? Буду благодарен ответу.
Можешь скинуть весь лог? Тут непонятно. И после какой команды такое
@@maximroslow у меня такая же проблема.
Просто по какой-то причине не запускается база из курса prismagraphql/mongo-single-replica:5.0.3. Если устанавливать mongo:latest, то все работает. Правда еще порт поменял на 27018. Но вот вопрос, будет ли эта версия работать и дальше?
контейнер с монго на макбук эйр м1 не завелся (( архитектура ему не понравилась
переустанови меняй логи хз. Я так перекопал весь ОС чтобы запустить
4:04:35 ля я через парамс сделал и все по сути работает. Разница будет если я так же продолжу делать? Во фронте думаю разницы особой не будет я же могу просто в парамс передать айди
Как хочешь так и делай) Главное, что работает
4:31:29 ну человек наверное оговорился ихотел сказать что перевел проект с createasyncthunk на rtk,так что хз че єто чушь
Зделай этот проект на react native било интересно посмотреть
При упаковке клиент части в докер такая ошибка, может у кого было, как пофиксить?
Failed at the vite-template-redux@0.0.0 build script.
This is probably not a problem with npm. There is likely additional logging output above.
Можешь скинуть весь лог? Тут вот сказано как раз в ошибке "There is likely additional logging output above."
@@maximroslow #0 6.439 npm ERR! code ELIFECYCLE
#0 6.439 npm ERR! errno 2
#0 6.441 npm ERR! vite-template-redux@0.0.0 build: `tsc && vite build`
#0 6.441 npm ERR! Exit status 2
#0 6.441 npm ERR!
#0 6.441 npm ERR! Failed at the vite-template-redux@0.0.0 build script.
#0 6.441 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
#0 6.447
#0 6.447 npm ERR! A complete log of this run can be found in:
#0 6.447 npm ERR! /root/.npm/_logs/2024-05-26T17_24_38_748Z-debug.log
------
failed to solve: executor failed running [/bin/sh -c npm run build]: exit code: 2
PS C:\Users\artur\WebstormProjects\social-app>
@@maximroslow емае, почему коммент удалился, еще 10 дней назад написал, ток щас заметил что пропал
#0 6.699 npm ERR! code ELIFECYCLE
#0 6.699 npm ERR! errno 2
#0 6.701 npm ERR! vite-template-redux@0.0.0 build: `tsc && vite build`
#0 6.701 npm ERR! Exit status 2
#0 6.701 npm ERR!
#0 6.701 npm ERR! Failed at the vite-template-redux@0.0.0 build script.
#0 6.701 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
#0 6.705
#0 6.705 npm ERR! A complete log of this run can be found in:
#0 6.706 npm ERR! /root/.npm/_logs/2024-06-05T17_52_48_991Z-debug.log
------
failed to solve: executor failed running [/bin/sh -c npm run build]: exit code: 2
@@maximroslow #0 6.699 npm ERR! code ELIFECYCLE
#0 6.699 npm ERR! errno 2
#0 6.701 npm ERR! vite-template-redux@0.0.0 build: `tsc && vite build`
#0 6.701 npm ERR! Exit status 2
#0 6.701 npm ERR!
#0 6.701 npm ERR! Failed at the vite-template-redux@0.0.0 build script.
#0 6.701 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
#0 6.705
#0 6.705 npm ERR! A complete log of this run can be found in:
#0 6.706 npm ERR! /root/.npm/_logs/2024-06-05T17_52_48_991Z-debug.log
------
failed to solve: executor failed running [/bin/sh -c npm run build]: exit code: 2
@@maximroslow не понимаю что за прикол, коммент с логами удаляется почему то
Я стартую. Надеюсь что закончу.)
Приложение на React, TypeScript, Redux Toolkit, Express
Ютуб зависает! Нельзя перекинуть на rutub?
@@vfr9778 нет, там 11 часов нельзя