Messaging 💬 - Search users by username & invite them for a chat - Accept/decline invite - Block/Unblock users - Customize your profile - mood and casual name - Mood visibility restricted to unblocked users For the first time, I used figma to visualize the frontend before coding. I also implemented debouncing for search results and cursor based pagination for messages. For Debouncing, I created a custom useDebounce hook that uses useEffect hook to modify state after some delay (setTimeout). The most challenging part was implementing pagination. In the backend, I used prisma's built in method to fetch messages based on cursor. I felt it difficult to make use of it in frontend. Especially to preserve the scrollbar position when the user scrolls to top and older messages are fetched. Although it works as expected on desktop, it doesn't do so on mobile. ▶️ Try it out right now: https://lnkd.in/gxr33D7v This full-stack (PostgreSQL, Express, Node, React) project - part of The Odin Project web development curriculum helped me build confidence in developing an app from scratch. #ReactJS #NodeJS #PostgreSql #Figma #TheOdinProject #fullstack #WebDevelopment #Backend #Frontend #Debouncing #Pagination #StyledComponents

To view or add a comment, sign in

Explore content categories