{"componentChunkName":"component---src-templates-article-template-js-content-file-path-content-blog-build-fullstack-clone-app-airbnb-clone-index-mdx","path":"/blog/build-fullstack-clone-app-airbnb-clone/","result":{"data":{"allWebMentionEntry":{"edges":[]}},"pageContext":{"article":{"id":"40e8d21d-04a7-5e9c-b5f3-a714919e3511","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/build-fullstack-clone-app-airbnb-clone/","timeToRead":"3 min read","date":"April 17, 2024","dateString":"April 17, 2024","datePublishedSeoFormat":"2024-04-17","title":"Lets Build Airbnb Clone App 2024","excerpt":"Lets Build Airbnb Clone App 2024","tags":["fullstack","clone","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#080808","images":{"fallback":{"src":"/static/ad6d6868def7e213eb5ac335b42ea66a/bc134/index.jpg","srcSet":"/static/ad6d6868def7e213eb5ac335b42ea66a/245e5/index.jpg 750w,\n/static/ad6d6868def7e213eb5ac335b42ea66a/f1a6c/index.jpg 1080w,\n/static/ad6d6868def7e213eb5ac335b42ea66a/bc134/index.jpg 1280w","sizes":"100vw"},"sources":[{"srcSet":"/static/ad6d6868def7e213eb5ac335b42ea66a/f1c30/index.webp 750w,\n/static/ad6d6868def7e213eb5ac335b42ea66a/54311/index.webp 1080w,\n/static/ad6d6868def7e213eb5ac335b42ea66a/c2dd8/index.webp 1280w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.5625},"seo":"/static/ad6d6868def7e213eb5ac335b42ea66a/index.png"},"commentId":"/blog/build-fullstack-clone-app-airbnb-clone/","tableOfContents":{"items":[{"url":"#lets-build-airbnb-clone-app-2024","title":"Lets Build Airbnb Clone App 2024"}]},"contentFilePath":"/opt/build/repo/content/blog/build-fullstack-clone-app-airbnb-clone/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},"authors":[],"relatedArticles":[{"id":"af1064ea-b4bd-5425-bf3b-15f7eb5ebb7d","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/nestjs-implementing-solid-principles/","timeToRead":"11 min read","date":"May 20, 2024","dateString":"May 20, 2024","datePublishedSeoFormat":"2024-05-20","title":"NestJS Already Implementing SOLID Principles","excerpt":"NestJS Already Implementing SOLID Principles","tags":["nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#080808","images":{"fallback":{"src":"/static/2737a4a91908722d10c21af8929d1b83/bc134/index.jpg","srcSet":"/static/2737a4a91908722d10c21af8929d1b83/245e5/index.jpg 750w,\n/static/2737a4a91908722d10c21af8929d1b83/f1a6c/index.jpg 1080w,\n/static/2737a4a91908722d10c21af8929d1b83/bc134/index.jpg 1280w","sizes":"100vw"},"sources":[{"srcSet":"/static/2737a4a91908722d10c21af8929d1b83/f1c30/index.webp 750w,\n/static/2737a4a91908722d10c21af8929d1b83/54311/index.webp 1080w,\n/static/2737a4a91908722d10c21af8929d1b83/c2dd8/index.webp 1280w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.5625},"seo":"/static/2737a4a91908722d10c21af8929d1b83/index.png"},"commentId":"/blog/nestjs-implementing-solid-principles/","tableOfContents":{"items":[{"url":"#is-nestjs-already-implementing-solid-principles","title":"Is NestJS Already Implementing SOLID Principles?"},{"url":"#example-of-dependency-injection","title":"Example of dependency injection"}]},"contentFilePath":"/opt/build/repo/content/blog/nestjs-implementing-solid-principles/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},{"id":"032531fa-be90-58f2-8683-b54e554e9613","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/understand-nodejs-stream-and-buffers/","timeToRead":"14 min read","date":"May 08, 2024","dateString":"May 08, 2024","datePublishedSeoFormat":"2024-05-08","title":"Understand Node JS Stream and Buffers","excerpt":"Understand Node JS Stream and Buffers","tags":["javascript","js","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#d8d8d8","images":{"fallback":{"src":"/static/119de0fe39d92e5ba379e61b52c0fb59/bc134/index.jpg","srcSet":"/static/119de0fe39d92e5ba379e61b52c0fb59/245e5/index.jpg 750w,\n/static/119de0fe39d92e5ba379e61b52c0fb59/f1a6c/index.jpg 1080w,\n/static/119de0fe39d92e5ba379e61b52c0fb59/bc134/index.jpg 1280w","sizes":"100vw"},"sources":[{"srcSet":"/static/119de0fe39d92e5ba379e61b52c0fb59/f1c30/index.webp 750w,\n/static/119de0fe39d92e5ba379e61b52c0fb59/54311/index.webp 1080w,\n/static/119de0fe39d92e5ba379e61b52c0fb59/c2dd8/index.webp 1280w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.5625},"seo":"/static/119de0fe39d92e5ba379e61b52c0fb59/index.png"},"commentId":"/blog/understand-nodejs-stream-and-buffers/","tableOfContents":{"items":[{"url":"#streams-in-nodejs","title":"Streams in Node.js"},{"url":"#use-case-2--http-responses","title":"Use case 2 — HTTP Responses"},{"url":"#use-case-3--data-processing","title":"Use case 3 — Data Processing"},{"url":"#use-case-4--real-time-data","title":"Use case 4 — Real-time Data"},{"url":"#use-case-5--compressiondecompression","title":"Use case 5 — Compression/Decompression"},{"url":"#use-case-6--database-operations","title":"Use case 6 — Database Operations"},{"url":"#use-case-7--concurrency-control","title":"Use case 7 — Concurrency Control"},{"url":"#use-case-8--stream-based-apis","title":"Use case 8 — Stream-Based APIs"},{"url":"#use-case-9--logging","title":"Use case 9 — Logging"},{"url":"#use-case-10--network-communication","title":"Use case 10 — Network Communication"},{"url":"#5-common-use-cases-of-buffers-in-nodejs","title":"5 common use cases of buffers in Node.js."},{"url":"#use-case-1--binary-data-handling","title":"Use Case 1 — Binary Data Handling"},{"url":"#use-case-2--data-transformation","title":"Use case 2 — Data Transformation"},{"url":"#use-case-3--cryptography","title":"Use case 3 — Cryptography"},{"url":"#use-case-4--performance-optimization","title":"Use case 4 — Performance Optimization"},{"url":"#use-case-5--interoperability","title":"Use case 5 — Interoperability","items":[{"items":[{"url":"#code-sample","title":"Code Sample"}]}]}]},"contentFilePath":"/opt/build/repo/content/blog/understand-nodejs-stream-and-buffers/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},{"id":"000993da-72a1-5bc0-bfcd-91abbc25d417","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/secure-your-nodejs-apis/","timeToRead":"6 min read","date":"May 07, 2024","dateString":"May 07, 2024","datePublishedSeoFormat":"2024-05-07","title":"How to secure your Node JS APIs","excerpt":"How to secure your Node JS APIs","tags":["javascript","js","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#e82848","images":{"fallback":{"src":"/static/406ea49c83350e7c29f7e9890d343812/bc134/index.jpg","srcSet":"/static/406ea49c83350e7c29f7e9890d343812/245e5/index.jpg 750w,\n/static/406ea49c83350e7c29f7e9890d343812/f1a6c/index.jpg 1080w,\n/static/406ea49c83350e7c29f7e9890d343812/bc134/index.jpg 1280w","sizes":"100vw"},"sources":[{"srcSet":"/static/406ea49c83350e7c29f7e9890d343812/f1c30/index.webp 750w,\n/static/406ea49c83350e7c29f7e9890d343812/54311/index.webp 1080w,\n/static/406ea49c83350e7c29f7e9890d343812/c2dd8/index.webp 1280w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.5625},"seo":"/static/406ea49c83350e7c29f7e9890d343812/index.png"},"commentId":"/blog/secure-your-nodejs-apis/","tableOfContents":{"items":[{"url":"#how-to-secure-your-node-js-apis","title":"how to secure your Node JS APIs"},{"url":"#creating-a-non-root-user-for-nodejs-service","title":"Creating a non-root user for Node.js service"},{"url":"#updating-packages-and-fixing-vulnerabilities","title":"Updating packages and fixing vulnerabilities"},{"url":"#installing-snyk-cli-and-scanning-your-project","title":"Installing Snyk CLI and scanning your project"},{"url":"#conclusion","title":"Conclusion"}]},"contentFilePath":"/opt/build/repo/content/blog/secure-your-nodejs-apis/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},{"id":"42d12f4d-2774-5299-933d-5a3ca77c5240","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/how-to-build-clean-rest-api-with-guidelines/","timeToRead":"9 min read","date":"May 06, 2024","dateString":"May 06, 2024","datePublishedSeoFormat":"2024-05-06","title":"Build and Test Simple CRUD Operations using Nestjs","excerpt":"Build and Test Simple CRUD Operations using Nestjs","tags":["javascript","js","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#080808","images":{"fallback":{"src":"/static/6f492e3e36515f51ba016f675d6ad81d/8940d/index.png","srcSet":"/static/6f492e3e36515f51ba016f675d6ad81d/8940d/index.png 626w","sizes":"100vw"},"sources":[{"srcSet":"/static/6f492e3e36515f51ba016f675d6ad81d/a1405/index.webp 626w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.4440894568690095},"seo":"/static/6f492e3e36515f51ba016f675d6ad81d/index.png"},"commentId":"/blog/how-to-build-clean-rest-api-with-guidelines/","tableOfContents":{"items":[{"items":[{"url":"#build-and-test-simple-crud-operations-using-nestjs","title":"Build and Test Simple CRUD Operations using Nestjs"}]},{"url":"#what-is-nestjs","title":"What is NestJS?"},{"url":"#setting-up-the-project","title":"Setting Up the Project"},{"url":"#generating-a-new-module","title":"Generating a New Module"},{"url":"#student-entity","title":"Student Entity"},{"url":"#student-data-transfer-object","title":"Student Data Transfer Object"},{"url":"#student-service","title":"Student Service"},{"url":"#student-controller","title":"Student Controller"},{"url":"#student-module","title":"Student Module"},{"url":"#update-the-main-module","title":"Update the Main Module"},{"url":"#dockerize-the-project","title":"Dockerize the Project"},{"url":"#run-the-project","title":"Run the Project"}]},"contentFilePath":"/opt/build/repo/content/blog/how-to-build-clean-rest-api-with-guidelines/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},{"id":"3f421a94-1e64-5fd6-9ccc-10f8121132db","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/what-is-sso-and-how-it-works/","timeToRead":"8 min read","date":"May 05, 2024","dateString":"May 05, 2024","datePublishedSeoFormat":"2024-05-05","title":"How does Single Sign-On (SSO) work?","excerpt":"How does Single Sign-On (SSO) work?","tags":["javascript","js","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#68c8d8","images":{"fallback":{"src":"/static/244488705cb0521f4ec47cbc9b1652ab/bc134/index.jpg","srcSet":"/static/244488705cb0521f4ec47cbc9b1652ab/245e5/index.jpg 750w,\n/static/244488705cb0521f4ec47cbc9b1652ab/f1a6c/index.jpg 1080w,\n/static/244488705cb0521f4ec47cbc9b1652ab/bc134/index.jpg 1280w","sizes":"100vw"},"sources":[{"srcSet":"/static/244488705cb0521f4ec47cbc9b1652ab/f1c30/index.webp 750w,\n/static/244488705cb0521f4ec47cbc9b1652ab/54311/index.webp 1080w,\n/static/244488705cb0521f4ec47cbc9b1652ab/c2dd8/index.webp 1280w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.5625},"seo":"/static/244488705cb0521f4ec47cbc9b1652ab/index.png"},"commentId":"/blog/what-is-sso-and-how-it-works/","tableOfContents":{"items":[{"url":"#how-does-single-sign-on-sso-work","title":"How does Single Sign-On (SSO) work"},{"url":"#the-actors-on-the-sso-stage","title":"The actors on the SSO stage"},{"url":"#the-sso-workflow","title":"The SSO workflow"},{"url":"#benefits-of-sso","title":"Benefits of SSO"},{"url":"#disadvantages-of-sso","title":"Disadvantages of SSO"},{"url":"#types-of-sso","title":"Types of SSO"},{"url":"#selecting-the-proper-sso-protocol","title":"Selecting the proper SSO protocol"},{"url":"#sso-implementations","title":"SSO implementations"}]},"contentFilePath":"/opt/build/repo/content/blog/what-is-sso-and-how-it-works/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},{"id":"f633831b-ae3d-57f1-9edc-c95639f84f43","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/effective-ways-to-design-apis/","timeToRead":"4 min read","date":"May 04, 2024","dateString":"May 04, 2024","datePublishedSeoFormat":"2024-05-04","title":"Efective ways to design your APIs Node JS","excerpt":"Efective ways to design your APIs Node JS","tags":["javascript","js","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#68e8b8","images":{"fallback":{"src":"/static/15f8247796c4e516b8c311709f54a703/d48df/index.png","srcSet":"/static/15f8247796c4e516b8c311709f54a703/0d4b0/index.png 750w,\n/static/15f8247796c4e516b8c311709f54a703/85796/index.png 1080w,\n/static/15f8247796c4e516b8c311709f54a703/d48df/index.png 1254w","sizes":"100vw"},"sources":[{"srcSet":"/static/15f8247796c4e516b8c311709f54a703/9e9d3/index.webp 750w,\n/static/15f8247796c4e516b8c311709f54a703/e4fdc/index.webp 1080w,\n/static/15f8247796c4e516b8c311709f54a703/7061c/index.webp 1254w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.5470494417862839},"seo":"/static/15f8247796c4e516b8c311709f54a703/index.png"},"commentId":"/blog/effective-ways-to-design-apis/","tableOfContents":{},"contentFilePath":"/opt/build/repo/content/blog/effective-ways-to-design-apis/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"}],"relatedStories":[],"relatedVideos":[{"node":{"id":"9efb942f-bcf2-56b7-93fb-21d357fd2bc3","url":"https://www.youtube.com/watch?v=PGWZprDwd28&list=PLIGDNOJWiL19kquPvnT1jn6tnYEiXWpGl","type":"youtube","tags":["nodejs","reactjs","javascript","typescript","js","expressjs","redux","nestjs","tkssharma"],"title":"Stack Overflow Clone -  APIs Integration Redux Toolkit [Closure] - App Demo #05"}},{"node":{"id":"5193a8bc-9680-5311-923a-1b51410a556c","url":"https://www.youtube.com/watch?v=8qIjrqduw4I&list=PLIGDNOJWiL19km08OI-GV6xplqAP_iVhx","type":"youtube","tags":["nodejs","reactjs","javascript","typescript","js","expressjs","redux","nestjs","tkssharma"],"title":"Become Ninja Developer -  API security Best Practices with Node JS Packages #15"}},{"node":{"id":"ff797ec7-4b29-53fb-91fd-4eaeeab47942","url":"https://www.youtube.com/watch?v=prqOEKNtyVY&list=PLIGDNOJWiL1-zscX224pibRBb4RChTpgM","type":"youtube","tags":["nodejs","reactjs","javascript","typescript","js","expressjs","redux","nestjs","tkssharma"],"title":"Nest JS Microservices using HTTP Gateway and Redis Services (DEMO) #nestjs #microservices #16"}}],"relatedTools":[],"relatedSnippets":[],"next":{"id":"0d9b331d-312b-55b4-9438-ba36d9834993","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/build-fullstack-booking-clone-application/","timeToRead":"6 min read","date":"April 17, 2024","dateString":"April 17, 2024","datePublishedSeoFormat":"2024-04-17","title":"lets build full stack clone app Booking Clone Application","excerpt":"lets build full stack clone app Booking Clone Application","tags":["fullstack","clone","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#183888","images":{"fallback":{"src":"/static/003974aca6b8c546d598a00299cfd6c8/687bc/index.png","srcSet":"/static/003974aca6b8c546d598a00299cfd6c8/6e47a/index.png 750w,\n/static/003974aca6b8c546d598a00299cfd6c8/54f1b/index.png 1080w,\n/static/003974aca6b8c546d598a00299cfd6c8/8b044/index.png 1366w,\n/static/003974aca6b8c546d598a00299cfd6c8/687bc/index.png 1451w","sizes":"100vw"},"sources":[{"srcSet":"/static/003974aca6b8c546d598a00299cfd6c8/b657a/index.webp 750w,\n/static/003974aca6b8c546d598a00299cfd6c8/8146e/index.webp 1080w,\n/static/003974aca6b8c546d598a00299cfd6c8/5a3c8/index.webp 1366w,\n/static/003974aca6b8c546d598a00299cfd6c8/42687/index.webp 1451w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.42108890420399725},"seo":"/static/003974aca6b8c546d598a00299cfd6c8/index.png"},"commentId":"/blog/build-fullstack-booking-clone-application/","tableOfContents":{"items":[{"url":"#lets-build-full-stack-clone-app-booking-clone-application","title":"lets build full stack clone app Booking Clone Application"},{"url":"#to-build-a-twitter-clone-using-a-modern-javascript-stack-you-can-follow-these-steps","title":"To build a Twitter clone using a modern JavaScript stack, you can follow these steps:"},{"url":"#lets-build-booking-clone-app-2024","title":"Lets Build Booking Clone App 2024"}]},"contentFilePath":"/opt/build/repo/content/blog/build-fullstack-booking-clone-application/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},"previous":{"id":"99aa05d0-336e-5534-b163-3e343a0687c2","author":"Tarun Sharma (code with tkssharma)","slug":"/blog/build-fullstack-clone-app-swiggy-clone/","timeToRead":"3 min read","date":"April 17, 2024","dateString":"April 17, 2024","datePublishedSeoFormat":"2024-04-17","title":"lets build Swiggy clone Application in 2024 using Microservices","excerpt":"lets build Swiggy clone Application in 2024 using Microservices","tags":["javascript","fullstack-clone","nodejs"],"lastModificationTime":"2023-01-16T12:50:10.699Z","lastModificationTimeString":"January 16, 2023","dateModifiedSeoFormat":"2023-01-16","hero":{"full":{"layout":"fullWidth","backgroundColor":"#080808","images":{"fallback":{"src":"/static/7502c562d8c02990d7b757c910a9fa3c/bc134/index.jpg","srcSet":"/static/7502c562d8c02990d7b757c910a9fa3c/245e5/index.jpg 750w,\n/static/7502c562d8c02990d7b757c910a9fa3c/f1a6c/index.jpg 1080w,\n/static/7502c562d8c02990d7b757c910a9fa3c/bc134/index.jpg 1280w","sizes":"100vw"},"sources":[{"srcSet":"/static/7502c562d8c02990d7b757c910a9fa3c/f1c30/index.webp 750w,\n/static/7502c562d8c02990d7b757c910a9fa3c/54311/index.webp 1080w,\n/static/7502c562d8c02990d7b757c910a9fa3c/c2dd8/index.webp 1280w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.5625},"seo":"/static/7502c562d8c02990d7b757c910a9fa3c/index.png"},"commentId":"/blog/build-fullstack-clone-app-swiggy-clone/","tableOfContents":{"items":[{"url":"#lets-build-swiggy-clone-application-in-2024-using-microservices","title":"Let's build Swiggy clone Application in 2024 using Microservices","items":[{"url":"#creating-a-swiggy-clone-application-involves-several-steps-and-describing-it-in-a-youtube-video-description-requires-clarity-and-conciseness-heres-a-suggestion-for-your-youtube-video-description","title":"Creating a Swiggy clone application involves several steps, and describing it in a YouTube video description requires clarity and conciseness. Here's a suggestion for your YouTube video description:"}]}]},"contentFilePath":"/opt/build/repo/content/blog/build-fullstack-clone-app-swiggy-clone/index.mdx","lastModifiedTime":"2023-01-16T12:50:10.699Z","lastModifiedTimeString":"January 16, 2023"},"permalink":"https://indicoder.tkssharma.com/blog/build-fullstack-clone-app-airbnb-clone/","frontmatter":{"title":"Lets Build Airbnb Clone App 2024","description":"Lets Build Airbnb Clone App 2024","author":"Tarun Sharma (code with tkssharma)","date":"2024-04-17T17:50:10.699Z","lastModificationTime":"2023-01-16T12:50:10.699Z","image":"./index.png","tags":["fullstack","clone","nodejs"]}}},"staticQueryHashes":["1457518467","1714442890","2703881467","2744905544","292919004"],"slicesMap":{}}