🚀 Day 15 of my #100DaysOfCode Challenge! 🚀 Excited to share my latest React project: Book Vibe! 📚 I've been diving deep into front-end development, and this project was a fantastic way to bring multiple concepts together into one polished application. Book Vibe is a fully responsive web app designed to help readers curate their book collections, track what they’ve read, and manage their wishlists. ✨ Key Features: Interactive Curation: Instantly add books to a "Read List" or "Wishlist" with smooth, persistent Toast notifications preventing duplicate entries. Dynamic Sorting: Users can sort their saved books by specific metrics like Number of Pages or Rating. Seamless Navigation: Built a clean tabbed interface to switch between lists without reloading, and a custom 404 error page to catch broken links gracefully. Fully Responsive: Carefully styled to look great on everything from mobile phones to ultra-wide desktop monitors. 🛠️ The Tech Stack: Core: React (v18), Vite Routing & State: React Router DOM (v6 Data Router API), Context API Styling & UI: Tailwind CSS, DaisyUI, React Icons Deployment: Netlify 🧠 Biggest Takeaways & What I Learned: This project pushed me to level up my state management. Moving away from prop drilling and effectively using the Context API made managing the global state of the reading lists across different components so much cleaner. I also gained some serious hands-on experience with deployment routing. Deploying a Single Page Application (SPA) with React Router meant diving into how server-side routing works, and configuring a _redirects file on Netlify to ensure users can refresh or visit direct URLs without hitting those dreaded 404 errors! I would love to hear your thoughts. If you have any feedback on the UI, the code structure, or how I can improve the sorting logic, please drop a comment below! 👇 🔗 Live Demo: [https://lnkd.in/gepCR4Vk] 💻 GitHub Repo: [https://lnkd.in/gN9DbC32] #ReactJS #TailwindCSS #WebDevelopment #Frontend #JavaScript #DaisyUI #ProgrammingHero #SoftwareEngineering #TechJourney
More Relevant Posts
-
🚀 React.memo — Prevent Unnecessary Re-renders Like a Pro In React, re-renders are normal… 👉 But unnecessary re-renders = performance issues That’s where React.memo helps. 💡 What is React.memo? React.memo is a higher-order component (HOC) 👉 It memoizes a component 👉 Prevents re-render if props haven’t changed ⚙️ Basic Example const Child = React.memo(({ name }) => { console.log("Child rendered"); return <h1>{name}</h1>; }); 👉 Now it only re-renders when name changes 🧠 How it works 👉 React compares previous props vs new props If same: ✅ Skips re-render If changed: 🔁 Re-renders component 🔥 The Real Problem Without memo: <Child name="Priyank" /> 👉 Even if parent re-renders 👉 Child also re-renders ❌ With React.memo: ✅ Child re-renders only when needed 🧩 Real-world use cases ✔ Large component trees ✔ Expensive UI rendering ✔ Lists with many items ✔ Components receiving stable props 🔥 Best Practices (Most developers miss this!) ✅ Use with stable props ✅ Combine with useCallback / useMemo ✅ Use in performance-critical components ❌ Don’t wrap every component blindly ⚠️ Common Mistake // ❌ Passing new function each render <Child onClick={() => console.log("Click")} /> 👉 Breaks memoization → causes re-render 💬 Pro Insight (Senior-Level Thinking) 👉 React.memo is not magic 👉 It works only if: Props are stable Reference doesn’t change 📌 Save this post & follow for more deep frontend insights! 📅 Day 21/100 #ReactJS #FrontendDevelopment #JavaScript #PerformanceOptimization #ReactHooks #SoftwareEngineering #100DaysOfCode 🚀
To view or add a comment, sign in
-
-
🚀 Day 32/100 – #100DaysOfCode Today I’m sharing another React project: 🔗 Book Vibe – Book Discovery Platform This project is focused on creating a clean and interactive platform for exploring books and reading-related content. 🔹 Project Idea The main goal is to build a system where users can browse, explore, and interact with books in a structured and user-friendly way. 🔹 Core Features - Display books dynamically from data - Explore book details (title, author, etc.) - Smooth navigation between pages - Responsive and clean UI 🔹 Core Concepts Used - Dynamic Data Rendering → Showing book data using .map() - Routing & Navigation → Moving between pages without reload - State Management → Handling user interactions and UI updates - Component-Based Design → Breaking UI into reusable parts - Recharts → Beautiful visual chart activity 🔹 What This Project Demonstrates - How to build a content-based application - Managing and displaying structured data - Creating a smooth user experience with React Live Link: https://lnkd.in/gYxJsuT4 Don't forget to share your thoughts in the comments below! 32 days down, 68 more to go.| | #Day32 #100DaysOfCode #ReactJS #WebDevelopment #FrontendDevelopment #JavaScript #Projects
To view or add a comment, sign in
-
🚀 Day 7 / 21 — Frontend Challenge Yesterday I built a basic Todo List… Today, I turned it into a smart productivity app 👇 Today I built: 👉 Advanced Todo App ⚡ 🧠 Flow I designed before coding: Refactored previous logic for better scalability Implemented LocalStorage to persist tasks Added task completion toggle system Built edit functionality with prompt modal Designed filter system (All / Completed / Pending) Improved UI feedback and interactions Optimized render logic for dynamic updates Focused on making it feel like a real-world app 🛠 Tech Used: HTML | CSS | JavaScript ✨ Features: • Add, Edit & Delete tasks • Mark tasks as completed ✅ • Filter tasks (All / Completed / Pending) • Data saved using LocalStorage 💾 • Real-time UI updates • Clean & responsive UI ⚡ Challenges Faced: Managing multiple states (completed, filtered, edited) while keeping the UI synced was tricky. Also, ensuring data persistence without breaking the flow required careful logic handling. 💡 Key Learning: Learned how to structure scalable JavaScript logic, manage application state, and build a more real-world interactive UI instead of just a basic project. 🔥 From Day 6 ➝ Day 7: Basic project ➝ Practical application 🚀 Consistency is turning small projects into powerful builds 💯 💬 What should I build next? (Thinking about Drag & Drop or Theme Toggle 😏) 🙏 Guidance by: @Keyur Gohil 📌 GitHub Repo: https://lnkd.in/dvRfEDER — #buildinpublic #frontenddeveloper #javascriptprojects #webdevelopment #codingjourney #100daysofcode #developers #programminglife #learninpublic #uidesign #productivity
To view or add a comment, sign in
-
Project 6/25 — QuizApp (This is where I moved from JavaScript to React) After getting comfortable with HTML, CSS, and JavaScript, I felt ready to try a framework. I chose React. At the time, concepts like props, state, and re-rendering were completely new to me — but I wanted to understand how modern frontend applications are built. So I built a Quiz App. This project was my first real experience with: • Managing state using useState (score, screen flow, user data) • Passing data between components using props • Structuring an app into reusable components (Start, Quiz, Restart) • Controlling UI flow (start → quiz → result) • Using timing/interval logic for user interaction One thing that stood out to me was how React changes your thinking: Instead of manually updating the DOM, you focus on state — and the UI updates automatically. Looking back, this was the project that helped me understand how frontend applications are actually structured. Live demo: https://lnkd.in/dN7eJ_Hb If you’re learning React, what concept was hardest for you at the beginning? #React #FrontendDevelopment #WebDevelopment #BuildInPublic #Project25
To view or add a comment, sign in
-
-
Have you ever felt frustrated with unwanted re-renders of React components and struggled to find a proper solution? Consider the following insights and share your worst re-render story below. Deep diving into React has taught me more than any tutorial ever could. The more I explored its internals, the more I realized how much was hiding beneath the surface. Re-renders seem simple until your app starts lagging, and you have no idea why. Here’s what I learned the hard way: → Understanding what actually triggers a re-render (it's not just setState) → Why React.memo silently breaks when you pass inline functions or objects → The Context trap that re-renders every consumer even when they don't care about the change → When to reach for useMemo vs useCallback and when to skip both entirely → How the key prop is a reset weapon, not just a list requirement → Architecture patterns that prevent re-renders by design, no memoization needed The deeper you go, the more you realize React rewards curiosity. Every "why is this slow?" question led me to a better mental model. Swipe through the carousel and save the slide that matches your current bug. #React #Frontend #JavaScript #WebDev #LearningInPublic
To view or add a comment, sign in
-
Recently, I revisited some of my earlier React projects and decided to finally share them. Here are a few projects I built while learning: 🔹 To-Do List App A modern task manager with drag-and-drop, dark mode, filtering, and local storage support. 🔹 Weather Dashboard Fetches real-time weather data (temperature, wind speed, conditions) using OpenWeather API. 🔹 FlipMind A card-matching game with smooth animations and responsive design. 🔹 QuoteCraft A minimal quote generator with a clean and simple UI. These projects helped me strengthen my fundamentals in React, state management, and working with APIs. Links are in the comments 👇. #React #WebDevelopment #FrontendDevelopment #JavaScript #LearningJourney
To view or add a comment, sign in
-
Junior devs often think z-index is the magic fix for every modal, dropdown, or dialog issue. . It’s not. The real problem is usually stacking context. In React / Next.js layouts, parents with transform, opacity, position, or custom z-index can trap children inside their own layer. So even z-index: 99999 can still lose. The clean solution: createPortal() Instead of rendering the modal inside the page tree, Portal mounts it directly to document.body. >> return createPortal(<>...</>,document.body) Why it works: • Escapes parent stacking contexts • Fixed positioning behaves correctly • Modals stay centered • Always appears above the UI • Cleaner architecture for dialogs & overlays Lesson: When z-index stops making sense, stop fighting numbers… fix the render location. #ReactJS #NextJS #FrontendDevelopment #WebDevelopment #JavaScript #UIUX #CodingTips
To view or add a comment, sign in
-
-
Just Brush up My React Concept today using Mini Project: Tic Tac Toe! I'm excited to share a project that helped me solidify some fundamental React concepts! Building a Tic Tac Toe game taught me so much more than just game logic. Here are the key learnings: ✨ Key Concepts I Mastered: 🔗 Passing Functions as Props The game works because I pass callback functions (onSquareClick) from the parent TicTac component down to child Square components. This is the foundation of parent-child communication in React! 📤 Getting Values from Child Components (Lifting State Up) Instead of trying to manage state in child components, I centralized it in the parent. When a child Square is clicked, it calls the handler function passed via props, which updates the parent's state. Data flows down, events flow up! 🔐 Closures in Action My handleClick function is a perfect example of closures. It has access to the outer scope variables (squares, xIsNext, setSquares) even though it's called later. Every time a square is clicked, the handler "remembers" these variables. This is JavaScript magic! ✨ 🎯 State Management & Conditional Rendering Used useState to track game state (whose turn, board state, winner) and conditional rendering to show/hide the game based on the start state. ⚙️ Game Logic Implemented winner detection, turn management, and prevented overwriting filled squares. What I Learned: 💡 React is fundamentally about managing data flow and making components talk to each other 💡 Understanding closures is KEY to understanding how React hooks work 💡 Lifting state up reduces complexity and makes your app more maintainable This project proved that strong JavaScript fundamentals (especially closures!) are essential for mastering React! Fellow junior developers: Don't skip the basics. Building something simple teaches you more than watching 10 tutorials. 🚀 #React #JavaScript #WebDevelopment #Learning #FrontendDevelopment #TicTacToe #ReactJS #Closures #StateManagement
To view or add a comment, sign in
-
Another project completed! 🚀 I'm excited to share my latest React build: a fully functional Task Manager (To-Do List). For this application, I focused on solidifying core React concepts and state management: 🔹 State Management: Utilizing useState to handle the dynamic array of tasks. 🔹 Array Methods: Implementing map and filter to render, complete, and delete specific items seamlessly. 🔹 Dynamic UI: Real-time updates and conditional styling for an intuitive user experience. Check out the video below to see the functionality in action! I'll leave the link to the GitHub repository in the first comment. 👇 #ReactJS #Frontend #WebDevelopment #JavaScript #SoftwareEngineering
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
Great attention to detail! 👀