Coding A Chat System In Nextjs amp Firebase😲 shorts
>> YOUR LINK HERE: ___ http://youtube.com/watch?v=XzlUnZ6DQKo
SoftwareTogether is a project where I develop software while listening to your suggestions. • The goal is to create powerful and useful applications based on community feedback and suggestions. You can participate by following the journey, suggesting features, and offering feedback on the builds. • Tech Stack I use: React, Next.js, TailwindCSS, Firebase, Node.js, ExpressJS, Gatsby, React Native, ElectronJS, and Bootstrap. • Current project: live 1v1 chat feedback-for-feedback web app using nextjs and firebase. • Stay updated by following me on Instagram, Twitter, GitHub, and TikTok ( same handle everywhere ) • Credits and tools: • IDE: CursorAI • Editor: DavinciResolve","styleRuns":[{"startIndex":0,"length":670,"styleRunExtensions":{"styleRunColorMapExtension":{"colorMap":[{"key":"USER_INTERFACE_THEME_DARK","value":4294967295},{"key":"USER_INTERFACE_THEME_LIGHT","value":4279440147}]}},"fontFamilyName":"Roboto"}]},"headerRuns":[{"startIndex":0,"length":670,"headerMapping":"ATTRIBUTED_STRING_HEADER_MAPPING_UNSPECIFIED"}]}},{"itemSectionRenderer":{"contents":[{"continuationItemRenderer":{"trigger":"CONTINUATION_TRIGGER_ON_ITEM_SHOWN","continuationEndpoint":{"clickTrackingParams":"CN8BELsvGAIiEwjBmK2MgZuKAxVxdXoFHQHAEZo=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/next"}},"continuationCommand":{"token":"Eg0SC1h6bFVuWjZEUUtvGAYyJSIRIgtYemxVblo2RFFLbzAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D","request":"CONTINUATION_REQUEST_TYPE_WATCH_NEXT"}}}}],"trackingParams":"CN8BELsvGAIiEwjBmK2MgZuKAxVxdXoFHQHAEZo=","sectionIdentifier":"comment-item-section","targetId":"comments-section"}}],"trackingParams":"CN4BELovIhMIwZitjIGbigMVcXV6BR0BwBGa"}},"secondaryResults":{"secondaryResults":{"results":[{"lockupViewModel":{"contentImage":{"thumbnailViewModel":{"image":{"sources":[{"url":"https://i.ytimg.com/vi/y3iWpRRt_sI/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ== rs=AOn4CLAJOn8bp8g2BIzcQbUe311qUe3dHw","width":168,"height":94},{"url":"https://i.ytimg.com/vi/y3iWpRRt_sI/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE= rs=AOn4CLBSP_QqdCE2xiy7Dl-MIWcocBGNyQ","width":336,"height":188}]},"overlays":[{"thumbnailOverlayBadgeViewModel":{"thumbnailBadges":[{"thumbnailBadgeViewModel":{"text":"24:35","badgeStyle":"THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT","animationActivationTargetId":"y3iWpRRt_sI","animationActivationEntityKey":"Eh8veW91dHViZS9hcHAvd2F0Y2gvcGxheWVyX3N0YXRlIMMCKAE%3D","lottieData":{"url":"https://www.gstatic.com/youtube/img/lottie/audio_indicator/audio_indicator_v2.json","settings":{"loop":true,"autoplay":true}},"animatedText":"Wordt nu afgespeeld","animationActivationEntitySelectorType":"THUMBNAIL_BADGE_ANIMATION_ENTITY_SELECTOR_TYPE_PLAYER_STATE","rendererContext":{"accessibilityContext":{"label":"24 minuten en 35 seconden"}}}}],"position":"THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END"}},{"thumbnailHoverOverlayToggleActionsViewModel":{"buttons":[{"toggleButtonViewModel":{"defaultButtonViewModel":{"buttonViewModel":{"iconName":"WATCH_LATER","onTap":{"innertubeCommand":{"clickTrackingParams":"CN0BEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"y3iWpRRt_sI","action":"ACTION_ADD_VIDEO"}]}}},"accessibilityText":"Later bekijken","style":"BUTTON_VIEW_MODEL_STYLE_OVERLAY_DARK","trackingParams":"CN0BEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","type":"BUTTON_VIEW_MODEL_TYPE_TONAL","buttonSize":"BUTTON_VIEW_MODEL_SIZE_COMPACT","state":"BUTTON_VIEW_MODEL_STATE_ACTIVE"}},"toggledButtonViewModel":{"buttonViewModel":{"iconName":"CHECK","onTap":{"innertubeCommand":{"clickTrackingParams":"CNwBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"y3iWpRRt_sI"}]}}},"accessibilityText":"Toegevoegd","style":"BUTTON_VIEW_MODEL_STYLE_OVERLAY_DARK","trackingParams":"CNwBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","type":"BUTTON_VIEW_MODEL_TYPE_TONAL","buttonSize":"BUTTON_VIEW_MODEL_SIZE_COMPACT","state":"BUTTON_VIEW_MODEL_STATE_ACTIVE"}},"isToggled":false,"trackingParams":"CNYBENTEDBgAIhMIwZitjIGbigMVcXV6BR0BwBGa"}},{"toggleButtonViewModel":{"defaultButtonViewModel":{"buttonViewModel":{"iconName":"ADD_TO_QUEUE_TAIL","onTap":{"innertubeCommand":{"clickTrackingParams":"CNsBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNsBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"y3iWpRRt_sI","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNsBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["y3iWpRRt_sI"],"params":"CAQ%3D"}},"videoIds":["y3iWpRRt_sI"],"videoCommand":{"clickTrackingParams":"CNsBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=y3iWpRRt_sI","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"y3iWpRRt_sI","watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr5---sn-4g5ednds.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=cb7896a5146dfec2 ip=217.12.208.230 mt=1733757457 oweuc="}}}}}}}]}}},"accessibilityText":"Toevoegen aan wachtrij","style":"BUTTON_VIEW_MODEL_STYLE_OVERLAY_DARK","trackingParams":"CNsBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","type":"BUTTON_VIEW_MODEL_TYPE_TONAL","buttonSize":"BUTTON_VIEW_MODEL_SIZE_COMPACT","state":"BUTTON_VIEW_MODEL_STATE_ACTIVE"}},"toggledButtonViewModel":{"buttonViewModel":{"iconName":"CHECK","accessibilityText":"Toegevoegd","style":"BUTTON_VIEW_MODEL_STYLE_OVERLAY_DARK","trackingParams":"CNoBEPBbIhMIwZitjIGbigMVcXV6BR0BwBGa","type":"BUTTON_VIEW_MODEL_TYPE_TONAL","buttonSize":"BUTTON_VIEW_MODEL_SIZE_COMPACT","state":"BUTTON_VIEW_MODEL_STATE_ACTIVE"}},"isToggled":false,"trackingParams":"CNYBENTEDBgAIhMIwZitjIGbigMVcXV6BR0BwBGa"}}]}}]}},"metadata":{"lockupMetadataViewModel":{"title":{"content":"Firebase Realtime Chat | Build and deploy with Firebase, NextJS and Chat Engine (Best UI 🤩)"},"image":{"decoratedAvatarViewModel":{"avatar":{"avatarViewModel":{"image":{"sources":[{"url":"https://yt3.ggpht.com/enV1Z6ZvdGmcc8LYmpFGQQ66FX_uP7Fpqodrxk0At84niNh1MpWNikIDk-W9CRIKQ5NtK9EOWtI=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"avatarImageSize":"AVATAR_SIZE_M"}},"a11yLabel":"Naar kanaal gaan","rendererContext":{"commandContext":{"onTap":{"innertubeCommand":{"clickTrackingParams":"CNYBENTEDBgAIhMIwZitjIGbigMVcXV6BR0BwBGa","commandMetadata":{"webCommandMetadata":{"url":"/@adam_la_morre","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCWf3dHZo_qzhnRkWiobCguw","canonicalBaseUrl":"/@adam_la_morre"}}}}}}},"metadata":{"contentMetadataViewModel":{"metadataRows":[{"metadataParts":[{"text":{"content":"Adam La Morre
#############################