Complete MERN Stack Project: Build a Hotel Booking App Like a Pro Developer Step-by-Step Course 2024

Rate this post

YouTube video


Selamat datang ke Kursus Projek Timbunan MERN Lengkap! Bab/Kod Sumber/pautan di sini Gunakan apa yang telah anda pelajari dengan idea projek mingguan. Sertai komuniti sekarang! Sumber: Data Ujian (untuk ujian automatik & imej hotel): IP Render.com untuk ditambahkan pada MongoDB: 3.75.158.163 3.125.183.140 35.157.117.28 Pautan Lain: Stripe: Cloudinary: MongoDB: : Bab 00:ntro00 :01:28 persediaan projek 00:20:58 persediaan tailwind 00:23:54 menambah susun atur 00:46:48 penjelasan auth & log masuk dan pendaftaran 03:42:20 ujian automatik dijelaskan & ujian auth 04:22:20 penempatan dijelaskan dan penggunaan auth 04:45:37 tambah ciri hotel 07:09:39 tambahkan penggunaan ciri hotel 07:16:58 lihat ciri hotel saya 07:43:52 lihat ujian automatik hotel saya 07:53:58 lihat penempatan hotel saya 07:57 :54 edit hotel hotel saya 08:49:37 edit ujian automatik hotel saya 09:02:54 edit penempatan hotel saya 09:05:40 halaman carian & ciri penomboran 10:38:00 ciri pengisihan dan penapisan 11:23:00 carian ujian automatik ciri halaman 11:28:28 penempatan ciri halaman carian 11:32:53 ciri halaman butiran hotel 12:19:14 ujian automatik halaman butiran hotel 12:22:45 penempatan halaman butiran hotel 12:23:57 simpan istilah carian ke storan sesi 12:32:04 halaman pengesahan tempahan 13:08:00 pembayaran jalur dijelaskan 13:10:31 ciri persediaan dan tempahan jalur 14:14:53 ujian automatik ciri tempahan 14:24:45 penggunaan ciri tempahan 15:08:03 outro – tahniah & terima kasih kerana menonton Penerangan: Selamat datang ke kursus langkah demi langkah kami yang komprehensif di mana kami menyelami membina Apl Tempahan sepenuhnya menggunakan timbunan MERN! Tutorial ini sesuai untuk pembangun yang ingin meningkatkan kemahiran mereka dan mencipta aplikasi dunia sebenar dari awal. Sama ada anda seorang pemula yang ingin mendalami pembangunan tindanan MERN atau pembangun berpengalaman yang ingin menggilap kemahiran anda, kursus ini mempunyai sesuatu untuk semua orang. **Ciri Utama Apl Tempahan Kami:** 1. **Pengesahan Pengguna**: Belajar untuk melaksanakan log masuk dan pendaftaran selamat menggunakan kuki HTTP dan JWT untuk pengalaman pengguna yang lancar. 2. **Pengurusan Hotel**: Kuasai seni menambah, menyunting dan melihat hotel. Kami meliputi segala-galanya daripada mengendalikan input borang kepada mengurus keadaan. 3. **Muat Naik Imej**: Terokai penyepaduan muat naik imej, ciri penting untuk mana-mana platform tempahan. 4. **Cari, Isih & Tapis**: Tingkatkan pengalaman pengguna dengan fungsi untuk mencari, mengisih dan menapis hotel, memudahkan pengguna mencari penginapan yang sesuai. 5. **Pembayaran Dalam Talian**: Sepadukan Stripe untuk pembayaran tempahan hotel yang selamat dan cekap. 6. **Pengurusan Tempahan**: Laksanakan ciri untuk melihat dan mengurus tempahan, penting untuk sebarang aplikasi tempahan. 7. **Hotel Terbaharu di Halaman Utama**: Paparkan hotel yang ditambah baru-baru ini pada halaman utama, memastikan kandungan dinamik dan menarik. #MERNStack #WebDevelopment #BookingApp #FullStackDevelopment #JavaScript #React #Nodejs #MongoDB #Express #CodingTutorial #LearnToCode #DeveloperTraining

CREDIT UNTUK SUMBER VIDEO

BACA JUGA  Thailand's best budget hotel - Masters Suites Shukmvit, Bangkok Thailand

33 comments

  1. Thank you all for the support so far! I hope you're enjoying the course, if you hit any issues, bugs, or errors please leave a comment below and I'll try and help. Would also love to hear any feedback/suggestions on what you'd like to see next on the channel!

  2. The website looks good on Microsoft edge but the container functionality seems not to working in Chrome as everything is extending to the left and right. Any suggestion??

  3. im getting an error 500 when i try to add the hotels to the db from the front end, what are some troubleshooting suggestions?

  4. Dear Chris,
    Please help to add room types for hotels (std, deluxe etc.) and for each room there should be a specific occupancy sng, dbl each with own price.
    thank you in advance and bless you!

  5. Getting this error on first deployment to render: Error: MONGODB_CONNECTION_STRING is not defined or not a string. Gone over code over and over again can't work it out! Anyone have any ideas?

  6. in backend .env file, in STRIPE_API_KEY= whatshould put ? Stripe Publishable key or secretkey ?

  7. chris i am having issues with deploying to render, at 4:40:00 this build command "cd frontend && npm install && npm run build && cd ../backend && npm run build" seems to only run and install frontend packages, immediatel after installing and building frontend, it returns an error of "module not found" for all the backend modules i.e they were not installed. to be sure it wasn't an error due to wrong file path i treid building and running only the backend and it worked

  8. Heyyy Chris….I am having error at Search page and pagination section .can u please help me out and tell me what part of code is required in backend so that that error is resolved

  9. Bro can i know why you are not creating controllers in the express app , they will make the code more readable and easy to understand right

  10. facing issue while deployment in render. issue occure like — src/api-client.ts(4,34): error TS2339: Property 'env' does not exist on type 'ImportMeta'. and like src/layouts/Layout.tsx(7,13): error TS2503: Cannot find namespace 'React'. on frontend side src/pages/Search.tsx(2,10): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. '/opt/render/project/src/frontend/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.

  11. I think you cut out the part where you first created the "constructSearchQuery" function. Oh well, makes the project more involved and interesting for us trying to figure out how it works. Almost done with this, very happy I've come this far (at sorting and filter feature rn). Good work!

  12. i followed the instruction on the readme but cant see any picture on the app and when try to sign in it shows Unexpected end of JSON input, please help

  13. Tysm for this tutorial
    What architecture did you use in this project ?

  14. I am wondering if there is part of the video might be missing.

    I was at 22:51, and App.tsx has already been modified from your view. But I haven't seen the new changes until 33:37.

    Anyways, I have got most of the code from the GitHub repo, so I can catch up the changes.

  15. Great tutorial, I have complete this step by step, I am waiting for the Microservice Project, Thank You, Sir.

  16. I greatly appreciate what you have done. You explained everything to the very basic level for better understanding specially for a beginner like me.

  17. Excellent job — I found this course far more helpful than most paid courses I've seen. Thanks for creating this!

  18. hey, if someone has trouble at the final Payment section, where you don't see the Booking Saved toast message, here is the fix which worked for me.

    inside the hotel.ts route, in the post method for payment intent
    (/:hotelId/bookings/payment-intent)

    const paymentIntent = await stripe.paymentIntents.create({
    amount: totalCost * 100,
    currency: "gbp",
    description: "Payment Intent",
    metadata: {
    hotelId,
    userId: req.userId,
    },
    receipt_email: "<enter email here>",
    shipping: {
    name: `null`,
    address: {
    line1: "null",
    line2: "null",
    city: "null",
    state: "null",
    postal_code: "null",
    country: "US",
    },
    },
    });

    1. change the currency code acc to your country, you'll find your code at https://docs.stripe.com/currencies
    2. add any email you use at the receipt_email part
    3. enter your country code in the address object, check it here https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

    I found out about these errors by keeping the body of onSubmit fn in BookingForm.tsx inside a try/catch block
    if(!stripe || !elements){
    return;
    }

    try{

    const result = await stripe.confirmCardPayment(
    paymentIntent.clientSecret,{
    payment_method: {
    card: elements.getElement(CardElement) as StripeCardElement,
    },
    });

    if(result.error){
    console.log(result.error.message);
    return;
    }

    if(result.paymentIntent?.status === "succeeded"){
    mutate({…formData, paymentIntentId: result.paymentIntent.id });
    }

    }catch(error){
    console.log("payment not successful ", error)
    }

    Also, if all is good, make sure that you add your stripe env variables in both back/frontend to render.com
    i hope someone finds this helpful.

  19. loved your videos I really recommend it, can you make another one with Nextjs using the best practices 🙂

  20. Sir I'm an undergraduate , and I have to do project using Microservices , but I could not find Good project , I need your help to find good microservice project on youtube , Please Sir Help Me..

  21. Anyone have error: "Third-party cookie will be blocked" when intergrate Stripe. Learn more in the Issues tab ? I allowed third party cookie on Chrome but now work?

  22. you are doing great job brother, I learnt a lot , God bless you 🙂🙂

  23. Hotel deletion could be added to the project. And also stripe payment should be received by hotel publisher instead of the website owner. Hotels are uploaded by users.

  24. I am getting issue in MongooseError: Operation `users.findOne()` buffering timed out after 10000ms.

Comments are closed.