React Node.js Booking App Full Tutorial | MERN Stack Reservation App (JWT, Cookies, Context API)

  Рет қаралды 951,019

Lama Dev

Lama Dev

Күн бұрын

Пікірлер: 1 200
@LamaDev
@LamaDev 2 жыл бұрын
Hi friends, I checked your comments in the previous video. And majority of people wanted Node.js and MongoDb as backend. However, that doesn't mean we won't build other apps using different technologies. Let me know in the comments what else you'd like to see for the next projects. Love ya
@explorewithrohan1994
@explorewithrohan1994 2 жыл бұрын
Graphql incoming ?
@sumanthprabhu11
@sumanthprabhu11 2 жыл бұрын
Flight Booking MERN
@script_storm
@script_storm 2 жыл бұрын
MEAN stack
@Couplestories101
@Couplestories101 2 жыл бұрын
React and php mysql please
@farid.dev1
@farid.dev1 2 жыл бұрын
Hi Safak, thanks for new video. Please make project with Typescript!
@ravisinghit
@ravisinghit 2 жыл бұрын
Why we like Lama Dev 1. Easy to understand 2. Point to Point tutorial 3. No time waste - less talk more code 4. Good projects used in example
@seveto3911
@seveto3911 2 жыл бұрын
TRUE
@moro3797
@moro3797 Жыл бұрын
AMAZING
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@curious9208
@curious9208 11 ай бұрын
did u found the solution??? Please do give the solution also@@SwarnarkaDas
@BruceWayne-oz9dm
@BruceWayne-oz9dm 23 сағат бұрын
Hey can you please tell what steps should I follow to run the project after cloning it from git hub?
@pedro.zurita
@pedro.zurita Жыл бұрын
I seriously like your teaching style...like a sensei...voice is calm and reassuring... documentation use is spot on...helps remind us that this is all a process not magic...wax on...wax off
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@BruceWayne-oz9dm
@BruceWayne-oz9dm 23 сағат бұрын
Hey can you please tell what steps should I follow to run the project after cloning it from git hub?
@humanity7880
@humanity7880 Жыл бұрын
For those who are getting stuck at 1:46:20 where they are not getting the desired results of 'limit'. You can try this: Use destructuring to get limit and featured from req.query like this---> const {limit,featured}=req.query; and then while fetching data write fetching line like this---> const hotels=await Hotel.find({featured:featured}).limit(limit);. After this getHotels code will be look like this : export const getHotels=async(req,res,next)=>{ try { const {limit,featured}=req.query; const hotels=await Hotel.find({featured:featured}).limit(limit); return res.status(200).json(hotels); } catch (err) { next(err); } } Hope it helps!
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@ajithpkumar1507
@ajithpkumar1507 Жыл бұрын
Thank you
@humanity7880
@humanity7880 Жыл бұрын
@@SwarnarkaDas check you "countByCity" function in "api/controllers/hotel.js" It should be like this: export const countByCity = async (req, res, next) => { const cities = req.query.cities?.split(","); if (cities) { try { const list = await Promise.all( cities?.map((city) => { return Hotel.countDocuments({ city: city }); }) ); return res.status(200).json(list); } catch (err) { next(err); } } }; after this check its route in "api/routes/hotels.js" make sure that coreect route is present for the function It should be like this: router.get('/countByCity',countByCity); If you've done both of these things correctly then code must be run properly
@BloodyXgamerz001
@BloodyXgamerz001 Жыл бұрын
Why I will not get data in console 1:36:57
@virajkale863
@virajkale863 Жыл бұрын
@humanity7880 thanks for the help brother 👍
@parulson6274
@parulson6274 Жыл бұрын
if you are having problem at 1:38:15, list of array is being fetched from insomnia/postman but not showing in React app. You gotta update the packages 'npm update --force', and remove '/api' from the proxy field and add it in the useState url's place
@hetpatel9503
@hetpatel9503 Жыл бұрын
Can you give your insta id i faced one problem in this project
@manamejeff2087
@manamejeff2087 Жыл бұрын
Heyy, im facing the same problem. Could I connect with you over any other medium ???
@akotech79
@akotech79 Жыл бұрын
thank you so much I was facing this problem and it is fixed now.May God bless you.
@ScriptFox
@ScriptFox Жыл бұрын
@@akotech79 please describe your solution and post the code if possible
@ScriptFox
@ScriptFox Жыл бұрын
my solution, I add cors in api and after change useFetch const Featured = () => { const { data, loading, error } = useFetch( "localhost:8800/api/hotels/countByCity?cities=berlin,madrid,london" ); console.log(data)
@promiseosunkwo3802
@promiseosunkwo3802 2 жыл бұрын
Thank you lama for your wonderful contents. I can only imagine how difficult it is to produce them. God bless you
@electroviper5931
@electroviper5931 2 жыл бұрын
After a lot of search I've found the best course on mern on KZbin (as per I've found). Lama's teches us the every word he uses in his video and that's the most amazing part. Just love it 💕💕
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@hobbiekhn3713
@hobbiekhn3713 2 жыл бұрын
Lama, Brother. Your techniques for modularity and overall problem solving are insane. Love you. I hope I will have the same after a year.
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@WebDevMania1
@WebDevMania1 Жыл бұрын
One of the most comprehensive tutorials of yours, Lama. You have such a good design combined with complex functionalities in that booking app.
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@eminm6383
@eminm6383 2 жыл бұрын
Hello Lama, I am a junior full stack dev and you have a contribution in my learning process before I landed my first job. Amazing content, rally easy to follow. Thanks a lot. Also, maybe some postgres involved content would be awesome for learners as it is crucial to know to attract more employers.
@vimz92
@vimz92 2 жыл бұрын
Hi bro, what project did you create to show the interviewer?
@karenmelikyan377
@karenmelikyan377 2 жыл бұрын
Junior full stack...hmmm.. you are a genius!!!
@eminm6383
@eminm6383 2 жыл бұрын
@@karenmelikyan377 Thanks, but I am not genius at all. Not a necessity.
@harshsinghal8527
@harshsinghal8527 2 жыл бұрын
Hello please can you tell me that in this project how we logout from website
@eminm6383
@eminm6383 2 жыл бұрын
@@harshsinghal8527 whenever I get the time, I will check.
@uuutech2949
@uuutech2949 Жыл бұрын
It took me almost one and a 1/2 month to complete this project I would say I have learned a lot from it 1 thing I would recommend that to use semantics in your HTML
@Mskkkkkkk
@Mskkkkkkk Жыл бұрын
bro can you send Source Code link plz
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@keshavakumar9828
@keshavakumar9828 2 жыл бұрын
It's always good to see such a useful complete tutorial for absolutely free. Lama if you are willing to provide courses where people can learn the technologies you use in your videos. I'm sure many will be willing to pay and support you.
@amazingworld-i1h
@amazingworld-i1h 2 жыл бұрын
I could not connect to mongoDB please help me bro
@vaalarivan_p
@vaalarivan_p 2 жыл бұрын
@@amazingworld-i1h in your .env, use 'equal to' sign instead of colon...
@sayanmaity2694
@sayanmaity2694 2 жыл бұрын
@@vaalarivan_p Hey I got a problem while doing this project can you please help me
@electroviper5931
@electroviper5931 2 жыл бұрын
@@sayanmaity2694 What kinda problem??
@agyaani8060
@agyaani8060 Жыл бұрын
Why m i getting like this nodemon app crashed - waiting for file changes before starting...
@linmus2370
@linmus2370 2 жыл бұрын
My favorite channel. Thanks a bunch for putting a lot of effort into making such instructive videos. The quality of your videos is as always top-notch. I can't thank you enought!
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@godfreyndiritu9062
@godfreyndiritu9062 2 жыл бұрын
Man I appreciate the time you take to bring to us this informative yet valuable content with clear explanation, His mode of delivery reveals that he is knowledgeable about the topic. Thanks Lama Dev
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@remy333
@remy333 2 жыл бұрын
Thank you for this. 🍻
@frontdeveloper4464
@frontdeveloper4464 2 жыл бұрын
I am learning a lot from you. I think your first approach was right for not using ''next'' in verifyToken under verifyUser and verifyAdmin function. Because, now it will go to next outer function instead of inner function, if I understood correctly.
@sohailraza2005
@sohailraza2005 2 жыл бұрын
yes agreed! there is the same problem which I was solving :D
@nishchaybhutani386
@nishchaybhutani386 2 жыл бұрын
can you please explain this to me? We aren't invoking the next function by adding () but it's still sending it out of the verifyUser function. How?
@hershey92
@hershey92 Жыл бұрын
How it solve it? Can anyone help me?
@Thomas-no7ek
@Thomas-no7ek Жыл бұрын
@@hershey92 Hi bro not sure if you still need this but I had the same issue and figured it out, I think. Inside of the verifyUser function we call verifyToken, which takes 3 parameters: req, res and next. if you give it 4 parameters in the nested function it will not executed the callback function and it will go directly to the next middleware(updateUser, updateHotel etc etc). however if no cookie is in place it will have no information for req.user.admin( which is required in the body of the nested callback). anyways it is solved by checking of req.user exists. I am just a humble intern so I think this is how it works, pls correct me if I am wrong, anyway my code works as it should. export const verifyUser = (req,res,next) =>{ verifyToken(req,res,()=>{ if(req.user.id === req.params.id ||req.user?.isAdmin){ console.log(req.user.isAdmin) next() }else{ return next(createError(403, "You are not autorized")) } }) } export const verifyAdmin = (req,res,next) =>{ verifyToken(req,res,()=>{ if(req.user?.isAdmin){ next() }else{ return next(createError(403, "You are not admin autorized")) } }) }
@Thomas-no7ek
@Thomas-no7ek Жыл бұрын
By placing the question markt there it will return false if its undefined
@christianferrario
@christianferrario 2 жыл бұрын
That's a huge project for a KZbin video, it's almost impossible to find something like that, please keep up with your work. I would also love a big project like that with Typescript, too see how you manage all the types and interfaces.
@abedzim5247
@abedzim5247 2 жыл бұрын
I would like to share this kind of content, but it's take so much time and efforts. This man deserve a medal.
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@katepeng3610
@katepeng3610 2 жыл бұрын
Hi Lama, thank you so much for your wonderful videos, I learned a lot and made my job easier. Also, I have a small suggestion, can you add a difficulty level to each video, like between 1-5? Because after one video, I move on to the next one, but you have so many videos that I don't know which one is right for my skill level. But if you have a difficulty level, it might be easier for me to find the next video to learn from. Hope you can think about it if you have enough time. Thanks
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@hammadraza7064
@hammadraza7064 Жыл бұрын
@@SwarnarkaDas c'mon man don't you have some access to gpt?
@JoeTheGetItGuy
@JoeTheGetItGuy 2 жыл бұрын
Best MERN project tutorial on youtube
@VishalMaharathy
@VishalMaharathy 2 жыл бұрын
1:13:19, by adding next here, you are allowing non-admin to be passed as admin(try running the checkAdmin controller using a non-admin account). Please check and fix the code here. Instead I just checked the condition (req.user && req.user.isAdmin) to see if the user exists and not throw "isAdmin is not defined".
@hershey92
@hershey92 Жыл бұрын
Do you have the solution for it?
@hershey92
@hershey92 Жыл бұрын
Will i face any problem in the next parts if i do what you did?
@ericksonsv
@ericksonsv 2 жыл бұрын
This is my new favorite channel, thanks for this amazing tutorial Lama Dev!...
@brentlombaard7573
@brentlombaard7573 2 жыл бұрын
At the timestamp 3:10:33 the users table doesn't show up and gives an error of rows is undefined in console You can fix this by adding qoutations in the useState in the DataTable.jsx on line 12 like this const [list, setList] = useState("")
@amacodes7347
@amacodes7347 2 жыл бұрын
I encounter this same problem but rather get xhr.js:220 GET localhost:8800/api/users 401 (Unauthorized); I tried this but where do I use the list state. Thank your for your feedback
@brentlombaard7573
@brentlombaard7573 2 жыл бұрын
@@amacodes7347 Hi, if you get a 401 unauthorized it probably means your user is not an admin
@amacodes7347
@amacodes7347 2 жыл бұрын
@@brentlombaard7573 kind of strange because if the user was not the admin then he can't access the dashboard, besides it works in Postman but on the client site it doesn't
@surajchandramauli
@surajchandramauli 2 жыл бұрын
Did you guys completed this project ?
@brentlombaard7573
@brentlombaard7573 2 жыл бұрын
@@surajchandramauli yes i Did
@xcrxwadda8287
@xcrxwadda8287 2 жыл бұрын
The good thing about Lama is that you will never find errors,code is easy to understand and write ,,,keep up the good work,you have helped me alot 🇰🇪🇰🇪🇰🇪
@johnedet4551
@johnedet4551 2 жыл бұрын
So glad you chose the MERN architecture for the project.. God bless you.. Pls can you add one last series in the video that involves email notifications or text message notification when a reservation is made for both the user and the admin.. and finally can you upload the project with a domain on a server.. I would be very grateful if any of this feature I requested above is implemented.. thank you in advance . I appreciate the impact once more...
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@victorduarte5462
@victorduarte5462 2 жыл бұрын
Another awesome project Lama. You're the best.
@peteromotosho7328
@peteromotosho7328 2 жыл бұрын
Nice Job Lama! Your projects are really inspiring and has been of great help to me. I think the next tutorial should be on making "An appointment booking website using react". I already made a research on this (KZbin & internet generally) and the ones I found are either made in WordPress or employed a plug-in. I think making this could really be helpful to take this channel to it next bigger audience as you could possibly be the first to implement it on a KZbin channel. Merci beaucoup once again!
@leslieokine8178
@leslieokine8178 2 жыл бұрын
Yes this is a great idea. I’ve been looking for a similar project.
@reveillegaming
@reveillegaming 2 жыл бұрын
Are you talking like one that interacts directly with your webcam? That would be cool. I feel just making the appointments is an easy adaptation from the skills learned in this one.
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@fbaoat
@fbaoat Жыл бұрын
if you are having problems after executing the cookie parser code lines, stop your server and npm install it as 'npm i cookie-parser'. Worked for me and hopefully works for you too.
@ashutoshjha2730
@ashutoshjha2730 Жыл бұрын
i needed this vedio code
@fbaoat
@fbaoat Жыл бұрын
@@ashutoshjha2730 glad i could help
@gabrielapredut7778
@gabrielapredut7778 11 ай бұрын
you're a God
@edatalic
@edatalic 9 ай бұрын
If you get an error at 1:36:57 , what you need to do ? ıts so simple ; After changing the proxy, stop the client with ctrl + c and run it again by npm start. and then The problem is solved and the result of console.log(data) appears as 3
@ritikmahato1263
@ritikmahato1263 4 ай бұрын
what if i use vite for react application
@natiking8806
@natiking8806 2 жыл бұрын
Keep it up, man. You are the inspiration of many developers like myself!
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@azamtamboli3186
@azamtamboli3186 Жыл бұрын
Hi @LamaDev, Can you help me at 1:46 as per video I have passed featured=true&limit=2 in the url in thunderclient but my mongodb query returns zero results. Mongodb query not taking limit as limit field instead it is checking for featured=true and limit=2 in database which results zero result and there is no field like limit in the table.
@balajis.r9038
@balajis.r9038 Жыл бұрын
i have a same issue
@sanjeevmurmu6505
@sanjeevmurmu6505 Жыл бұрын
just destructure the req.params for one more value limit and use it in limit part of hotels.find function so right now we have const{min,max,...others}=req.query and change it to const{min,max,limit,...others}=req.query and in the Hotels.find function change the part "limit(req.query.limit)" to "limit(limit)"
@asthakumari8069
@asthakumari8069 Жыл бұрын
​@@sanjeevmurmu6505thank you so much for your help.
@maerin-5560dt
@maerin-5560dt 11 ай бұрын
thanks bro @@sanjeevmurmu6505
@brilliantatosam
@brilliantatosam 2 жыл бұрын
Best MERN teacher on KZbin
@kushalkc9128
@kushalkc9128 2 жыл бұрын
At 01:13:16 once the 'next' is added to the argument, the function to check 'isAdmin' doesn't work as expected
@arunkumara9398
@arunkumara9398 2 жыл бұрын
remove next from verify token()
@brianmurithi2985
@brianmurithi2985 2 жыл бұрын
@@arunkumara9398 In the admin function...?
@surajchandramauli
@surajchandramauli 2 жыл бұрын
@@brianmurithi2985 did you comleted this project ?
@kumarsrijan7566
@kumarsrijan7566 2 жыл бұрын
Can anyone explain why is it happening
@RakeshSahu-cr9ks
@RakeshSahu-cr9ks 2 жыл бұрын
@@kumarsrijan7566 next in the function parameter means once completed go to the next middleware function. In this case if you add next in verifyToken function's parameter, the next will refer to the middleware after verifyToken function from the routes -- but your routes doesn't have verifyToken, but it has verifyAdmin, so ideally you want the next () -> to refer to your verifyAdmin, so that the next middleware, which in this case is updateHotel is executed. @01:13:15 Lama said it, that the next is referring to verifyToken --> that is the catch. So if you should add next as an parameter to verifyAdmin middleware function and not the verifyToken middleware function. Hope it helps!
@edatalic
@edatalic 8 ай бұрын
if you have a problem at 3:25:05 you can do this. for cloud_name firstly you have to go cloudinary and then sign in. then you will go dashboard and you can see your cloud_name. instead of demo you can write this cloud name. and then problem will be solved
@neilhong7133
@neilhong7133 2 жыл бұрын
In 02:54:00, if I click reserved, it will push the data into unavailableDate, it pushed the data successfully but it didn't compare the date. For example, I choose the date from 5.27-5.28, then it pushed the date array ['2022-05-26T14:00:00.000Z', '2022-05-27T14:00:00.000Z'], saved, and I choose the same room, same date, and click reserve, it will push the same date array as array1, doesn't compare the date.
@neilhong7133
@neilhong7133 2 жыл бұрын
And I tried to print the 'isFound'. it shows undefined, why is it?
@surajchandramauli
@surajchandramauli 2 жыл бұрын
@@neilhong7133 did you guys completed this project ?
@swapsalgare7739
@swapsalgare7739 11 ай бұрын
If this issue s resolved please let me know, what you did, In my case it is not disabling the checkbox
@binichannel4488
@binichannel4488 2 жыл бұрын
Thank you lema, it was really helpfull for me. perhaps this is the best learning method i have seen. good job lema. i would really be glad to pay for such kind of tutorial.
@pradeepbb1729
@pradeepbb1729 2 жыл бұрын
Another great content from Lama sir, Can i expect a React-Native course from you because your explanation is superb, I would like to see a React-Native course from you sir, Thank you❤
@nwaformicah433
@nwaformicah433 2 жыл бұрын
I will love that sir
@amazingworld-i1h
@amazingworld-i1h 2 жыл бұрын
I couldn't connect to mongoDB please help me
@sohailraza2005
@sohailraza2005 2 жыл бұрын
@@amazingworld-i1h how can i help you ?
@agyaani8060
@agyaani8060 Жыл бұрын
@@sohailraza2005Why m i getting like this nodemon app crashed - waiting for file changes before starting...
@WillSmith-qt7me
@WillSmith-qt7me Жыл бұрын
Handy MERN tutorial, especially the booking function, dates, and filtering. Thanks, friend!
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@dipsapkota9299
@dipsapkota9299 2 жыл бұрын
@Lama Dev sir please do a big project like LMS(college management system) using redux toolkit, nodejs , and reactjs MERN(technology). Your tutorial is so nice. Thank you so much for this wonderful effort
@melamelawen
@melamelawen Жыл бұрын
Yes! That would be so helpful. I've never seen any video with that kind of project
@svenmcarby4141
@svenmcarby4141 Жыл бұрын
I am totally agree with you :)
@mrigenpegu
@mrigenpegu Жыл бұрын
Finally, I completed the project ☺️ Thank you Lama Dev for everything!Wish you all a very happy new year 2024 🕺💃
@curious9208
@curious9208 11 ай бұрын
heyy, did u face any issues while completing? if yes plz do share with us bcz I'm abt to start and ur solutions would be useful for us
@mrigenpegu
@mrigenpegu 11 ай бұрын
@@curious9208 Lama Dev is genius. All the codes works fine 👍
@rm_musicandvibe
@rm_musicandvibe 10 ай бұрын
@mriganpegu please share your GitHub
@AnkitKumar-ol7vc
@AnkitKumar-ol7vc 10 ай бұрын
Is it responsive?
@mrigenpegu
@mrigenpegu 10 ай бұрын
@@AnkitKumar-ol7vc Yes 👍
@edwardyeow7688
@edwardyeow7688 2 жыл бұрын
Hi Lama, thanks for the tutorial. At 01:13:16, I noticed that once the 'next' is added to the argument, the function to check 'isAdmin' doesn't run anymore.
@kennedymwangi5880
@kennedymwangi5880 2 жыл бұрын
True, try removing the 'next' parameter in verifyToken inside verifyAdmin / verifyUser
@shashankshekhar390
@shashankshekhar390 2 жыл бұрын
@@kennedymwangi5880 Heyyy...could you please elaborate...I'm stuck here..
@jswarrior_
@jswarrior_ 2 жыл бұрын
if (!req.user) { return res.send('No user token is availible.'); } i remove next and added this at the top of the function,now it seems cool..
@Patinhow100
@Patinhow100 2 жыл бұрын
@@jswarrior_ whats function?
@lavitzwind6709
@lavitzwind6709 2 жыл бұрын
Replace the both verifyAdmin and verifyUser functions with these: export const verifyAdmin = (req, res, next) => { verifyToken(req, res, () => { if (req.user.isAdmin) { next(); } else { return next(createError(403, "You are not authorized!")); } }); }; export const verifyUser = (req, res, next) => { verifyToken(req, res, () => { if (req.user.id === req.params.id || req.user.isAdmin) { next(); } else { return next(createError(403, "You are not authorized!")); } }); };
@user-oe1es8xb4i
@user-oe1es8xb4i 4 ай бұрын
Great tutorial and very clear in way of explaining. Hope you don't mind but would love to use certain smaller parts for my project. Your complete project and structure is a great example to learn from, in my opinion. Thank you so much for your contribution in my learning path. Will try to watch more videos when manage to have some free time. Thank you once again.
@Ta_3-k8n
@Ta_3-k8n 2 жыл бұрын
Can you make a complete full bug tracker web app please that would be Soo helpful, we really appreciate what you're making, quality content for free 🔥.
@praveenchauhan4608
@praveenchauhan4608 Жыл бұрын
I am unable to remove error at 27:00 kindly help
@cocoxbeast1823
@cocoxbeast1823 4 ай бұрын
hello bro you ynderstand
@madhavdubey5056
@madhavdubey5056 2 ай бұрын
Same with me can any solve doubt that title is not occur in preview part
@rhagavithiyagarajan27
@rhagavithiyagarajan27 2 жыл бұрын
You have helped me in moulding my MERN stack skills.And as a beginner your tutorials are awesome and simple to learn.Keep up the awesome work!
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@sanjanapanwar3844
@sanjanapanwar3844 8 ай бұрын
@@SwarnarkaDas initially my local storage is undefined how to solve that problem
@raphaeljaggerd3585
@raphaeljaggerd3585 2 жыл бұрын
Awesome stuff as usual but two quick questions: 1. Can you add payment with PayPal or stripe or flutterwave 2. Is the context api better than redux?
@namansharma1448
@namansharma1448 2 жыл бұрын
adding stripe payment is very easy go through their docs and just see any video that do payment through stripe in your tech stack u will get the idea
@raphaeljaggerd3585
@raphaeljaggerd3585 2 жыл бұрын
@@namansharma1448 Okay. Thank you.
@parasporia8931
@parasporia8931 3 ай бұрын
bro i have a question that through admin dashboard can we add different hotels and rooms to the app?
@idevbrandon
@idevbrandon 2 жыл бұрын
I've been waiting for it past 2 weeks so bad 😍
@fbaoat
@fbaoat Жыл бұрын
if you are getting "Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client res.status(200).json(hotels)" when you run any of your request on postman, it's because The request handler is simply a javascript function and this means that the javascript engine(v8 in nodes case) keeps executing the code beyond the if statement when there is no explicit instruction for it to exit the function. The simple fix around this is to return your responce. in this case : 'return res.what_ever_it_is'
@BruceWayne-oz9dm
@BruceWayne-oz9dm 23 сағат бұрын
Hey can you please tell what steps should I follow to run the project after cloning it from git hub?
@khanAmmar007
@khanAmmar007 Жыл бұрын
best teacher on youtube, with best content💯
@firaskedidi9868
@firaskedidi9868 2 жыл бұрын
great project just i small remark it would have been awsome if you shared with us the architecture of the project before coding so that we can get a global overview
@vaibhaviroy8173
@vaibhaviroy8173 Жыл бұрын
Is the project completed in this tutorial?
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@user-lr5bi9gf9x
@user-lr5bi9gf9x Жыл бұрын
@@SwarnarkaDas hey, have u solved this error, i have similiar problem
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
@@user-lr5bi9gf9x I removed the Featured components
@lakmalvimukthi2483
@lakmalvimukthi2483 2 жыл бұрын
Great tutorial I'm completed this tutorial with in 4 days thank you so much I learned lot of thing watching this tutorial ❤️
@adventurelife1149
@adventurelife1149 Жыл бұрын
Hii bro I'm beginner should I start admin project first then this? Bcz admin must to manage the product? Please reply
@gusget
@gusget 2 жыл бұрын
hey Lama, amazing tutorial. But when I make the PropertyList component ( 1:43:02 ) , the page breaks, and I get a warning in console that data is undefined. Any ideas? anybody? EDIT: actually if I comment the map in the data for the h2 and h1, it reloads ok. EDIT2: solved with the question mark! sorry!
@xcrxwadda8287
@xcrxwadda8287 2 жыл бұрын
npm audit fix --force if it persists
@albin241
@albin241 2 жыл бұрын
i think u have to use return in map function
@RakeshSahu-cr9ks
@RakeshSahu-cr9ks 2 жыл бұрын
Solution: repalce data[i].type with data[i]?.type Reason: optional chaining Edit -- apologies didnt see that you got it fixed
@gusget
@gusget 2 жыл бұрын
@@RakeshSahu-cr9ks thanks anyway, dude
@Kaybelo_
@Kaybelo_ 2 жыл бұрын
@@RakeshSahu-cr9ks 😅 I'm stuck here and decided to sleep, now that there's a fix i'm lazy to wake up....
@RamishHassansyedshah
@RamishHassansyedshah Жыл бұрын
Amazing explanation. really good project. i think the in depth explanation is what makes this video different than others.
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@johnedet2987
@johnedet2987 2 жыл бұрын
Hi Lama Dev .. thank you for the time you spend in creating such useful, creative & educative content. May God Bless you Tremendously. Please, Can you do some/add some sought of notification first to the user when a reservation is made stating that "he just made a reservation" and to the admin saying that he has a new message in his dashboard. secondly, can you add features where the user has his own dashboard that helps him fast-track his reservations. Also can payment gateways be incorporated and can the project be hosted on a VPS using Nginx. thank you in advance. I really appreciate the good work. God Bless you once more.
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@akashjagadale9798
@akashjagadale9798 7 ай бұрын
​@@SwarnarkaDas if you have solve this problem then can you please help me out Actually i'm also getting like this
@angel_stark
@angel_stark Жыл бұрын
Finally, completed this project🙂🙂🙂🙂.... It took some time but I figured out all problems.... Thanks lamadev
@niteshprajapat7918
@niteshprajapat7918 Жыл бұрын
code is working properly ?
@angel_stark
@angel_stark Жыл бұрын
@@niteshprajapat7918 yes, properly.
@swapsalgare7739
@swapsalgare7739 11 ай бұрын
In my case when we select dates it is not disabling it next time I choose same date and room, please help
@kaioeduardo8770
@kaioeduardo8770 2 жыл бұрын
For those that verifyAdmin is not working, that is happening because when we call the func verifyToken it returns a next() at the end, so it enters the route func before even initializing the verifyadmin. I hope it helps
@Patinhow100
@Patinhow100 2 жыл бұрын
Kaio, mesmo depois de fazer isso, recebo erro 500 dizendo que não é possível ler a propriedade "isAdmin" de undefined... consegue me ajudar?
@kumarsrijan7566
@kumarsrijan7566 2 жыл бұрын
Can you please explain further?
@wtcprotoss
@wtcprotoss 2 жыл бұрын
@@Patinhow100 I'm also having this issue, did you ever end up fixing it?
@hershey92
@hershey92 Жыл бұрын
@@wtcprotoss did you solve it?
@omarcherti1244
@omarcherti1244 Жыл бұрын
hey did you find the solution please ?
@pratyushpandey1145
@pratyushpandey1145 Жыл бұрын
Best EVER mern stack tutorial
@amacodes7347
@amacodes7347 2 жыл бұрын
2:13:24 I have a problem with endDate : Uncaught TypeError: Cannot read properties of undefined (reading 'endDate'); I'll hope anyone here can help with the solution to this bug: Never mind there's no bug, simple just go back to the home page rather than refresh id page. The bug is because there's no date data when u refresh the page as oppose to when u return to the home page and select the date, thus making ur state able to store the date data and pass it to the useContext state react API which can be assess anywhere in the app
@lunyx5856
@lunyx5856 2 жыл бұрын
Hello. I faced the same issue. And the author further in the video shows how it can be solved. With the help of local storage. Lama wrote this for authentication, and for storing date data - the principle is almost the same. I did it. The main thing is then to replace in the function for the simplicity of days: datex.getTime() with Date.parse(datex). I hope this helps you. //In SearchContext edit INITIAL_STATE like below. const INITIAL_STATE = { city: undefined, dates: JSON.parse(localStorage.getItem("dates")) || [], options: JSON.parse(localStorage.getItem("options")) || { adult: undefined, children: undefined, room: undefined, } } //And in SearchContext in function SearchContextProvider add useEffects like below export const SearchContextProvider = ({children}) =>{ const [state, dispatch] = useReducer(SearchReducer, INITIAL_STATE); useEffect(()=>{ localStorage.setItem("dates", JSON.stringify(state.dates)); }, [state.dates]); useEffect(()=>{ localStorage.setItem("options", JSON.stringify(state.options)); }, [state.options]); return ( {children} ) }; //At last in component Hotel.jsx change dayDifference function const dayDifference = (date1, date2)=>{ const timeDiff = Math.abs(Date.parse(date2) - Date.parse(date1)); const diffDays = Math.ceil(timeDiff / MILLISECONDS_PER_DAY); return diffDays; };
@ggindinson
@ggindinson 2 жыл бұрын
@@lunyx5856 Большое спасибо, пытался использовать parseISO и были баги
@ashabuddin8136
@ashabuddin8136 2 жыл бұрын
@@ggindinson @Андрей Курзанцев I face this problem but I can not solve this problem.
@aryanshaw2462
@aryanshaw2462 2 жыл бұрын
@Mah Fuz same with me if u get the answer tell me
@yogaforever8330
@yogaforever8330 2 жыл бұрын
@@aryanshaw2462 me too,,i don't get value of dates,, it's showing empty array
@prashantttzzzz7
@prashantttzzzz7 3 ай бұрын
thank you so much sir for providing quality content free of cost .
@jeremyh9841
@jeremyh9841 2 жыл бұрын
It would be interesting with Redux, Typescript and PostgreSql as most companies use it.
@hamidr8391
@hamidr8391 2 жыл бұрын
Thank you so much safak for such valuable tutorials.
@Imnotsoumyajit
@Imnotsoumyajit Жыл бұрын
Making it mobile responsive is a nightmare
@abed9134
@abed9134 Жыл бұрын
Did he make it responsive?
@BruceWayne-oz9dm
@BruceWayne-oz9dm 23 сағат бұрын
Hey can you please tell what steps should I follow to run the project after cloning it from git hub?
@muhammadzohaib1935
@muhammadzohaib1935 2 жыл бұрын
Node js and MongoDB Your are amazing Sir love you
@spikerrbg2231
@spikerrbg2231 2 жыл бұрын
Hello mate. Have problem im on part Insomnia program. when add city adress and etc. and click to test on insomnia show Cannot POST /api/hotels. Hotel.js is currect. Hotels.js is "import express from "express" import Hotel from "../models/Hotel.js"; const router = express.Router(); //CREATE router.post("/api", async (req,res)=>{ const newHotel = new Hotel(req.body) try{ const savedHotel = await newHotel.save() res.status(200).json(savedHotel) }catch(err){ res.status(500).json(err) } }) //UPDATE //DELETE //GET //GET ALL export default router"
@Sid33ff3cts
@Sid33ff3cts 2 жыл бұрын
I have same problem
@vaishnavikhamkar7430
@vaishnavikhamkar7430 2 жыл бұрын
I resolved it by just putting the url as :localhost:8800/hotel
@anopta
@anopta 2 жыл бұрын
@spikerrbg 22 Check your index.js file. Perhaps your endpoint is wrongly typed. It should be "/api/hotels" not "api/hotels". Also your hotels.js routes file should be '/' for the insomnia to work at 27:02
@battlebear
@battlebear Жыл бұрын
Thanks Lama. Finished it a while ago. It felt a bit rushed at the end but it was a nice tutorial.
@somilbichpuriya161
@somilbichpuriya161 2 жыл бұрын
This project is awesome 👍👍, looking forward for such videos in future for Inventory Management System using React and Spring Boot
@SwarnarkaDas
@SwarnarkaDas Жыл бұрын
at 1:52:21 instead of fetching data on the basis of city it only fetched data only whose 'featured:false' hotels ... const { data, loading, error, reFetch } = useFetch(`/hotels?city=${destination}`).....i am getting stuck here..please help me
@camellaadam3475
@camellaadam3475 2 жыл бұрын
Amazing, I love mern stack from your tutorial
@hassanogunniyi6889
@hassanogunniyi6889 2 жыл бұрын
The way this guy goes from easy to complex should be studied.... Top Tier!
@amansheikh3475
@amansheikh3475 3 ай бұрын
Finally Completed 😊👍🏻 Thanks Sir
@sandipbaikare
@sandipbaikare 2 жыл бұрын
Hi Lama, Thanks you so much for such great videos. I learned lot of things in a single vidoe and I know it will increse my cofidence in the these technologies more.
@cchelseacxx
@cchelseacxx 2 жыл бұрын
👆Send a direct message for help 🆙 ⬆️.
@drennanmike9922
@drennanmike9922 2 жыл бұрын
Thanks alot Lama. You are great. Great job, well done.
@kirmada_12
@kirmada_12 2 жыл бұрын
Thank you safak for this awesome project..
@synt-x6458
@synt-x6458 2 жыл бұрын
Congratulations on the 100k subs💯🔥🔥🔥
@mdyasin7008
@mdyasin7008 2 жыл бұрын
THANK YOU SOO MUCH. YOUR VIDEOS REALLY HELP ALOT. YOUR VIDEO REALLY UNDERSTANDABLE
@kexkiri
@kexkiri 2 жыл бұрын
Hi Lama Dev. Thanks for your sharing knowledges to us.
@free_pal
@free_pal 2 жыл бұрын
Thnks a lot man. We appreciate the quality content.
@nwaformicah433
@nwaformicah433 2 жыл бұрын
Thanks so much sir, you are the best teacher I have met in KZbin! We will like project on react native.
@andikafebrianto4021
@andikafebrianto4021 2 жыл бұрын
Thank you so much, I followed this tutorial and it's very help me a lot.
@kirakira160
@kirakira160 2 жыл бұрын
You are gift from god teacher lama dev❤
@mohmadail6611
@mohmadail6611 2 жыл бұрын
you are absolutely amazing, keep going
@gaston85_arg
@gaston85_arg 5 ай бұрын
please, more tutorials like this!!! thank u!
@Rejaulkarim-lf5xb
@Rejaulkarim-lf5xb 2 жыл бұрын
Thank you Lama and also Good Luck for you,
@bishakdey
@bishakdey 2 жыл бұрын
Lama, you are a god! You helped me and taught me 'n' number of things and I couldn't thank you enough. You have been instrumental in my learning of web technologies. Love from India. ❤️😄
@utsho.sardar
@utsho.sardar Жыл бұрын
The best video in the youtube!
@ahmetahmedov6420
@ahmetahmedov6420 Жыл бұрын
If you have probles with .limit() function just pop that "limit" key from your query and use it seperately, idk but this fixed my problem. const { limit, ...query } = req.query; const hotels = await Hotel.find(query).limit(limit);
@nitinkaushik5144
@nitinkaushik5144 2 жыл бұрын
This course is amazing...
@ujjalzaman2722
@ujjalzaman2722 2 жыл бұрын
You are awesome, thank you so much for this awesome project
@Monjurul_islam_mojnu
@Monjurul_islam_mojnu 2 жыл бұрын
I am still waiting for this video.. Thanks sir...
@entiktv
@entiktv 2 жыл бұрын
congrats on getting the silver button
@ManishYadav-pr9qi
@ManishYadav-pr9qi 2 жыл бұрын
Bro @LamaDev You really deserve the massive respect. Respect 🫡 ya 3000 !
@zacharysong4863
@zacharysong4863 2 жыл бұрын
1:41:23 skeleton video- animated loading components recommend.
@fbaoat
@fbaoat Жыл бұрын
REACT INSTALLATION PROBLEM FIX if you're on Mac then you more than likely got this error "'xcrun: error: invalid active developer path.." don't worry , this is just an apple bug that hopefully will be fixed by the time you see this, But to address the issue, run "xcode-select --install" let it install on your computer. when its done, run the clone code again and you should be fine. Worked for me and hopefully works for you too.
@hershey92
@hershey92 Жыл бұрын
Do you have any idea about how to fix the problem at 1:13:19?
@fbaoat
@fbaoat Жыл бұрын
@@hershey92 what problem exactly? I could spot a few but not sure which one you'd like help with.
@hershey92
@hershey92 Жыл бұрын
@@fbaoat i solved it but thank you so much for replying!
@fbaoat
@fbaoat Жыл бұрын
@@hershey92 no problem!
@BruceWayne-oz9dm
@BruceWayne-oz9dm 22 сағат бұрын
​@@fbaoatHey can you please tell what steps should I follow to run the project after cloning it from git hub?
@Coding-is-life
@Coding-is-life Жыл бұрын
Just finish this tutorial, still the best. .Thank you sensei..🙏
@skanderchouiter5384
@skanderchouiter5384 Жыл бұрын
Everything worked good ? It works on your local server ?
@Coding-is-life
@Coding-is-life Жыл бұрын
@@skanderchouiter5384 yes so it's all good.
@firdosem8208
@firdosem8208 Жыл бұрын
Hii.. I'm facing some issue can u help me out
@Coding-is-life
@Coding-is-life Жыл бұрын
@@firdosem8208 what are those
@AnandKumar-qj2iy
@AnandKumar-qj2iy Жыл бұрын
@rowelljayrodriguez9885 bro can u give the description of what is happening inside this project point wise....it would be very much helpful....please bro
@mahendranath2504
@mahendranath2504 2 жыл бұрын
Thank you so so so much , as usual awsome content ❤👍👌👏🙌
@taribiisaac9209
@taribiisaac9209 Жыл бұрын
Thank you so much for this content. I have learned a lot from this tutorial. I got stocked when trying to limit hotels on the featured hotel section
@AmbiaKhatun-e4v
@AmbiaKhatun-e4v Жыл бұрын
I am trying but it is not working on my end. can you help me?
@shehryarabbasi7809
@shehryarabbasi7809 Жыл бұрын
bro i am also stuck there. ,could you please help me out?
@sushantlama2178
@sushantlama2178 Жыл бұрын
@@shehryarabbasi7809 whats the problem
@shehryarabbasi7809
@shehryarabbasi7809 Жыл бұрын
@@sushantlama2178 i am not able to limit hotels when i remove the limit parameter it works fine.
@huynhquocvinh9692
@huynhquocvinh9692 Жыл бұрын
@@shehryarabbasi7809 export const getHotels = async (req, res, next) => { const { min, max, ...other } = req.query; try { const hotels = await Hotel.find({ featured: other.featured, cheapestPrice: { $gt: min | 1, $lt: max || 999 }, }).limit(req.query.limit); res.status(200).json(hotels); } catch (err) { next(err); } };
@amirnaziri7932
@amirnaziri7932 4 ай бұрын
your course was so useful Please take and publish a full-stack App with React and express node and MySql database Thanks for your efforts 🎉🎉
@TheDarco78
@TheDarco78 2 жыл бұрын
amazing work! excellent!
@jamjam3337
@jamjam3337 2 жыл бұрын
Thank you lama! 👏👍
@cchelseacxx
@cchelseacxx 2 жыл бұрын
👆Send a direct message for help 🆙 ⬆️.
@juliocesarminharotina2117
@juliocesarminharotina2117 2 жыл бұрын
Nice tutorial. Node + Express + Mongodb + React + Material Ui
@BCS_AnkurMishra
@BCS_AnkurMishra Жыл бұрын
Noice video. Found a little thing in the backend code where the user can update their records, here a non admin can make a put request with isAdmin=true and then can be the admin so just wanted to tell you. PS nicee work
@nadeemr1070
@nadeemr1070 Жыл бұрын
actually verifyAdmin and verifyUser is not working properly here.
@BruceWayne-oz9dm
@BruceWayne-oz9dm 22 сағат бұрын
Hey can you please tell what steps should I follow to run the project after cloning it from git hub?
Why Nike Is Struggling
10:02
CNBC
Рет қаралды 1,3 МЛН
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
Can I Make QR Code Damascus?
19:23
Alec Steele
Рет қаралды 1 МЛН
Oleksandr Usyk vs. Tyson Fury 2 HIGHLIGHTS | ESPN Ringside
3:04
CRUD API Tutorial - Node, Express, MongoDB
1:33:14
freeCodeCamp.org
Рет қаралды 316 М.
Backend Full Course | NodeJS ExpressJS PostgreSQL Prisma & Docker
5:17:22
Octopus vs Underwater Maze
17:13
Mark Rober
Рет қаралды 83 МЛН
Taking X-rays Using Grandma's Radioactive Dishes
27:59
The Thought Emporium
Рет қаралды 332 М.
California’s New Laws for 2025
23:38
ABC10
Рет қаралды 879 М.
What if we put a pool on the moon?
2:53
xkcd's What If?
Рет қаралды 558 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН