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
More Relevant Posts
-
🔥 Something BIG for React Developers 🔥 I just released a Dark Developer React Hooks Cheatsheet — and it goes beyond the basics. 🚀 I’ve Completed Part 1: State & Logic Hooks in React Covered: ✅ useState ✅ useReducer ✅ useId ✅ useRef ✅ useImperativeHandle These hooks build the foundation of every React application — managing local state, handling logic, and controlling component behavior. But that’s just the beginning. 👀 The remaining sections go deeper into what makes modern React powerful: - ⚡ Side Effects & External Systems (API calls, subscriptions, DOM measurement) - 🚀 Performance & Responsiveness (Memoization, transitions, deferred rendering) - 🆕 Action Hooks (React 19+) (Modern form handling, optimistic UI) - 🧠 Resource & Advanced Hooks (use(), useEffectEvent, and more) I’ve compiled all of these — with explanations + code examples — into a Dark Developer Cheatsheet. 📄 Check out the full guide here: 👉 React Hooks – Dark Developer Edition Click: https://lnkd.in/dJkQaWdk (Replace with your actual document link) Modern React isn’t just about writing components — it’s about understanding rendering, performance, and user experience at a deeper level. More breakdowns coming soon. 🔥 #React #WebDevelopment #Frontend #JavaScript #ReactJS #DeveloperGrowth
To view or add a comment, sign in
-
🚀 Mastering ReactJS: From Fundamentals to Advanced Architecture React is no longer just a “frontend library” — it has evolved into a complete ecosystem for building scalable, high-performance web applications. Over the past few years, React has transformed how we think about UI architecture, component composition, performance optimization, and state management. I recently published a detailed deep-dive article covering: 🔹 Virtual DOM & Reconciliation (under the hood) 🔹 Advanced Hooks usage & patterns 🔹 Performance optimization (memoization, lazy loading, code splitting) 🔹 Scalable project structure for production apps 🔹 State management strategies (Context, Redux Toolkit, Zustand) 🔹 API integration best practices 🔹 Testing strategies 🔹 Modern React trends (Server Components, Streaming SSR, Edge Rendering) Whether you're building your first SPA or scaling a production-grade application, this guide walks through both fundamentals and advanced concepts used in real-world systems. 📖 Read the full article here: 👉 https://lnkd.in/gHMew_TA React isn’t just about writing components — it’s about designing maintainable systems. I’d love to hear how you structure large-scale React applications. What’s your go-to state management approach in 2026? #ReactJS #FrontendDevelopment #WebDevelopment #JavaScript #SoftwareEngineering #FullStack #TechWriting #Hashnode
To view or add a comment, sign in
-
🚀 Learning and Building with React ⚛️ 👋 Hello everyone! I’ve recently started learning React, and I wanted to share what I’ve learned so far. 🔹 What is React? React is a JavaScript library used to build fast, interactive, and reusable user interfaces, especially for single-page applications. 🔹 Why use React? ✔ Component-based architecture ✔ Reusable UI components ✔ Faster rendering using Virtual DOM ✔ Easy state and UI management 🔹 Core Concepts I Learned ✅ Components -> Components are the building blocks of a React application. Each component represents a part of the UI. I explored: Class Components ✅ Props (Properties) -> Used to pass data from parent to child components, making components reusable and dynamic. ✅ State -> State is used to store and manage dynamic data inside a component. When state changes, React automatically updates the UI. ✅ Fragments -> Fragments help group multiple elements without adding extra nodes to the DOM. -> Used as <React.Fragment> or shorthand <> </> to keep the DOM clean. 🔹 Hands-on Practice Using these concepts, I built: 🔢 Counter App 🧮 Calculator App 🌙 Dark & Light Mode Toggle 🔗 Source Code👉: https://lnkd.in/gGApYZZW Building these projects helped me understand how React works in real-world scenarios, especially component structure, state management, and UI updates. I’m excited to continue learning React and frontend development 🚀 Open to feedback and suggestions! #React #JavaScript #FrontendDevelopment #LearningReact #WebDevelopment #CodingJourney #ReactProjects
To view or add a comment, sign in
-
I have worked on two startup applications using Next.js, and here is the exact roadmap I would follow if I were starting again today. Prerequisites 1 - React.js basics (Components, Props, State) 2 - JavaScript ES6+ 3 - CSS (or frameworks like Tailwind CSS, but CSS basics will still be required) Set up your environment 1 - Node.js 2 - VS Code (or any IDE) 3 - Git for version control Understand the basics 1 - File-based routing 2 - Pages and Layouts 3 - Static and Dynamic Routes Data fetching in Next.js 1 - getStaticProps (SSG) 2 - getServerSideProps (SSR) 3 - getStaticPaths (Dynamic SSG) API Routes 1 - Create API routes 2 - Work with REST APIs 3 - Master Next.js features Master Next.js Features 1 - Image Optimization (next/image) 2 - Built-in CSS/SCSS support 3 - Middleware for advanced routing Styling your app 1 - CSS Modules 2 - Tailwind CSS 3 - Styled Components Authentication 1 - NextAuth.js 2 - Third-party providers (Google, GitHub) Deployment 1 - Vercel (for React/Next.js) 2 - Netlify 3 - GitHub Pages 4 - AWS Amplify Optimize your app 1 - Code splitting 2 - Lazy loading images/components 3 - Analyze bundle size with next-bundle-analyzer Advanced topics 1 - Incremental Static Regeneration (ISR) 2 - Middleware for server-side logic 3 - Internationalization (i18n) Project ideas 1 - Blogging platform with Markdown 2 - E-commerce site with SSR 3 - Portfolio website with SSG + animations #NextJS #WebDevelopment #FrontendDevelopment #ReactJS #JavaScript #FullStackDeveloper #SoftwareDevelopment #Programming #Coding #Developers #LearnToCode #TechCareer #StartupLife #BuildInPublic #100DaysOfCode
To view or add a comment, sign in
-
-
🚀 Why I Prefer Redux Toolkit (RTK) in Modern React Projects As a Frontend Developer working with React and Next.js, I’ve used different state management approaches — Context API, plain Redux, and eventually Redux Toolkit. And honestly… RTK changed the game for me. 🔥 What Makes Redux Toolkit Powerful? ✅ Less Boilerplate If you’ve written traditional Redux, you know the pain — actions, action types, reducers, switch cases. With createSlice, everything lives in one clean structure. ✅ Built-in Best Practices RTK follows recommended patterns by default. No more manually configuring store middleware or worrying about immutability — thanks to Immer under the hood. ✅ Async Handling Made Simple createAsyncThunk makes API handling structured and predictable. Loading, success, and error states become easy to manage. ✅ Great DevTools Support Debugging state changes becomes transparent and efficient. 💡 Real Project Use Case In one of my projects, I implemented a Favorites feature: • Add/remove items from favorites • Prevent multiple clicks using loading state • Maintain global consistency across pages Redux Toolkit helped me: • Keep reducers clean • Manage async states clearly • Avoid unnecessary re-renders 🆚 RTK vs Context API? Context API works well for small-scale state. But when: • State becomes complex • Multiple components depend on it • Async logic grows RTK provides better scalability and maintainability. 🎯 My Takeaway If you're building production-level React or Next.js applications, Redux Toolkit is not overkill — it's a structured way to scale. Clean code. Predictable state. Better architecture. What’s your preferred state management approach in 2026 — RTK, Zustand, or something else? #ReactJS #ReduxToolkit #FrontendDevelopment #NextJS #JavaScript #WebDevelopment
To view or add a comment, sign in
-
⚛️ React Development: Lessons from Building Real-World Applications Working with React and Firebase has taught me invaluable lessons about modern web development. Here are insights from the trenches: 🔧 Component Design Philosophy • Keep components small and focused—one responsibility rule applies here too • Props drilling? Context API and state management libraries are your friends • Reusability > Perfection. Build for tomorrow, not just today 🔥 Firebase Integration Tips • Firestore security rules are NOT optional—treat them as your first line of defense • Real-time listeners are powerful but can be expensive—use them strategically • Cloud Functions bridge the gap between frontend simplicity and backend power ⚡ Performance Matters • Lazy loading isn't just nice to have—it's essential for user experience • Optimize re-renders with useMemo and useCallback wisely (but don't over-optimize prematurely) • Lighthouse scores tell you the truth—listen to them 💡 The Biggest Lesson? Build with users in mind, not just for technical elegance. A beautiful codebase that frustrates users is still a failure. What's your go-to React pattern that's saved you countless hours? #React #WebDevelopment #JavaScript #Firebase #Frontend #WebDev #Programming
To view or add a comment, sign in
-
How to Optimize Performance in ReactJS Applications (Practical Guide for Real Projects) Performance is one of the most important aspects of any ReactJS application. A fast application improves user experience, reduces bounce rate, and builds trust. Over the years, while working on React-based enterprise applications, I’ve learned that performance optimization is not about one big change — it’s about many small, smart decisions. Here are some practical ways to optimize a React application: 1. Avoid Unnecessary Re-renders Re-renders are one of the biggest performance issues in React. Use React.memo, useMemo, and useCallback wisely to prevent components from re-rendering when props or state haven’t changed. But don’t overuse them — apply only where needed. 2. Code Splitting & Lazy Loading Instead of loading the entire application at once, use React.lazy() and Suspense to load components only when required. This reduces the initial bundle size and improves page load time. 3. Optimize Bundle Size Use tools like Webpack Bundle Analyzer to check what’s increasing your bundle size. Remove unused libraries, prefer lightweight alternatives, and enable tree-shaking in production builds. 4. Use Proper State Management Avoid keeping unnecessary data in global state (Redux or Context). Keep state as local as possible. Smaller state scope means fewer re-renders. 5. Optimize Lists Rendering When rendering large lists, always use unique keys. For very large datasets, consider virtualization libraries like react-window to render only visible items. 6. Image & Asset Optimization Compress images, use modern formats like WebP, and lazy load images. Static assets often impact performance more than JavaScript. 7. Use Production Build Always deploy using npm run build. Development mode includes extra checks that slow down performance. 8. Monitor Performance Use Chrome DevTools, Lighthouse, and React DevTools Profiler to identify bottlenecks. Measure first, then optimize. Performance optimization is not a one-time activity. It should be part of development from day one. Clean code, thoughtful architecture, and regular monitoring make a huge difference in the long run. A fast app is not just about technology — it’s about discipline and smart engineering decisions. hashtag #ReactJS #PerformanceOptimization #FrontendDevelopment #JavaScript #Redux #WebDevelopment #StateManagement
To view or add a comment, sign in
-
🚀 5 React Concepts That Transformed My Development Workflow After spending countless hours building with React, I've discovered that the real power isn't in the syntax—it's in understanding the "why" behind the patterns. Here are 5 game-changing concepts every React developer should know: 🔁 1. The Closure Trap in Hooks useEffect and useState rely on closures. If you're not careful with dependency arrays, you'll be debugging stale values for hours. Understanding JavaScript closures = mastering React hooks. 🎭 2. Render Props Pattern Before hooks, this was the king of sharing logic. Still incredibly useful when you need to share code between components with flexible rendering needs. It's like passing JSX as a function—pure genius. 🧩 3. Error Boundaries One error shouldn't crash your entire app. Error boundaries let you fail gracefully, showing fallback UI while keeping the rest of your application functional. Your users will thank you. ⚡ 4. Memoization Strategies React.memo, useMemo, useCallback—they're not just performance tools. They're about preventing unnecessary re-renders and optimizing expensive calculations. Use them wisely, or don't use them at all. 🔄 5. The Power of useRef Beyond DOM References useRef persists values across renders without triggering re-renders. Perfect for tracking previous values, storing interval IDs, or keeping mutable data that shouldn't cause updates. 🎯 Bonus: Component Lifecycle in the Hooks Era useEffect combined with useRef can replicate componentDidMount, componentDidUpdate, and componentWillUnmount with cleaner, more readable code. React isn't just about building UIs—it's about building UIs that scale, perform, and make developers happy. 🌟 What's one React concept that clicked for you late in your journey? Share below! 👇 #ReactJS #WebDevelopment #FrontendEngineering #JavaScript #CodingTips #ReactHooks #SoftwareEngineering #TechCommunity #DeveloperProductivity #WebDevLife
To view or add a comment, sign in
-
https://huesnatch.com/ I have worked on two startup applications using Next.js, and here is the exact roadmap I would follow if I were starting again today. Prerequisites 1 - React.js basics (Components, Props, State) 2 - JavaScript ES6+ 3 - CSS (or frameworks like Tailwind CSS, but CSS basics will still be required) Set up your environment 1 - Node.js 2 - VS Code (or any IDE) 3 - Git for version control Understand the basics 1 - File-based routing 2 - Pages and Layouts 3 - Static and Dynamic Routes Data fetching in Next.js 1 - getStaticProps (SSG) 2 - getServerSideProps (SSR) 3 - getStaticPaths (Dynamic SSG) API Routes 1 - Create API routes 2 - Work with REST APIs 3 - Master Next.js features Master Next.js Features 1 - Image Optimization (next/image) 2 - Built-in CSS/SCSS support 3 - Middleware for advanced routing Styling your app 1 - CSS Modules 2 - Tailwind CSS 3 - Styled Components Authentication 1 - NextAuth.js 2 - Third-party providers (Google, GitHub) Deployment 1 - Vercel (for React/Next.js) 2 - Netlify 3 - GitHub Pages 4 - AWS Amplify Optimize your app 1 - Code splitting 2 - Lazy loading images/components 3 - Analyze bundle size with next-bundle-analyzer Advanced topics 1 - Incremental Static Regeneration (ISR) 2 - Middleware for server-side logic 3 - Internationalization (i18n) Project ideas 1 - Blogging platform with Markdown 2 - E-commerce site with SSR 3 - Portfolio website with SSG + animations #NextJS #WebDevelopment #FrontendDevelopment #ReactJS #JavaScript #FullStackDeveloper #SoftwareDevelopment #Programming #Coding #Developers #LearnToCode #TechCareer #StartupLife #BuildInPublic #100DaysOfCode #huesnatch #huesnatch.com
To view or add a comment, sign in
-
-
🚀 Day 72 Optimizing Performance in React with useMemo Today’s lesson was about memoization in React and how the useMemo hook helps optimize performance by avoiding unnecessary expensive calculations. 🔹 React Hooks Naming Convention All React hooks start with use (like useState, useEffect, useMemo) to clearly indicate they follow React’s hook rules and lifecycle. 🔹 What is Memoization? Memoization is a technique where we store the result of an expensive function and reuse it when the same input occurs again—rather than recalculating every time. 💡 Think of it like memorizing math answers instead of solving the same problem repeatedly. 🔹 The Problem: Expensive Operations Some functions are costly and slow: • Heavy calculations • Large loops • Repeated logic on every re-render • In a counter app, every button click causes a re-render—and without • • optimization, the expensive function runs again, slowing the UI ❌ 🔹 The Solution: useMemo useMemo: • Caches the result of a calculation • Recalculates only when dependencies change • Skips unnecessary re-execution on re-render const result = useMemo(() => expensiveFunction(value), [value]); 🔹 How useMemo Works • First value → function runs & result is stored • Same value → cached result returned instantly • New value → function runs again & updates cache 🔹 Important Notes • useMemo caches only the last value • Don’t overuse it—apply only for expensive logic • Best when inputs change less frequently than renders 📌 Key Takeaways • useMemo improves performance by memoizing heavy calculations • Prevents UI lag caused by unnecessary re-computation • Dependency array controls when recalculation happens • Essential optimization tool for React developers • Smart optimization leads to smoother and faster React apps 🚀 #ReactJS #useMemo #JavaScript #FrontendDevelopment #PerformanceOptimization #LearningInPublic #WebDev #Day69
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
Source code: - Frontend: https://github.com/Punith1117/messaging-frontend - Backend: https://github.com/Punith1117/messaging