🚀 Built a Smart Auth System (Frontend Only) Just wrapped up a project where I implemented a complete authentication system using React + Vite + TailwindCSS. 🔐 Key Highlights: • User Registration & Login Flow • Real-time Form Validation • Strong Password Rules (uppercase, lowercase, number, special character) • Password Strength Indicator (Weak → Strong) • Clean & Responsive UI 💡 Focus was on writing clean validation logic and improving user experience with instant feedback. This project helped me understand how real-world auth systems work on the frontend before integrating backend APIs. Next Step → Connecting it with backend & JWT 🔥 Github Repo: https://lnkd.in/gZXz8K3e #ReactJS #FrontendDevelopment #WebDevelopment #JavaScript #CodingJourney
React Auth System with Real-time Validation
More Relevant Posts
-
Tackling State Management in React I recently wrapped up a multi-step form project and wanted to share the results. While it looks simple on the surface, keeping state synchronized across different views while ensuring a smooth user experience was a great challenge. Key features I focused on: Persistent State: Ensuring data isn't lost when moving between steps. Progress Tracking: A visual indicator to keep the user engaged. Building this helped me sharpen my React skills alongside my background in .NET. Check out the demo below! #ReactJS #DotNetDeveloper #WebDevelopment #Frontend #CodingLife
To view or add a comment, sign in
-
“useEffect” — the react hook that we all love to hate! Use it when needed to sync your react component with “external”, “third-party” systems. Otherwise, avoid it! There is always going to be a way to do something “without a useEffect” #react #reactjs #reactjsdeveloper #reacttips #tipsandtricks #softwareengineering #technology
To view or add a comment, sign in
-
“We just added login…” - and a week later we refactored half of the frontend. Ran into a very familiar situation recently. Backend “slightly” changed: now a user is not just a token, but also a context — company, branch, role, permissions. Sounds reasonable. In reality, your frontend starts behaving like a teenager: random 403s “no permissions” here “context not selected” there and sometimes… it works (no idea why) We had two options: 👉 patch it with if-statements 👉 hardcode a few checks 👉 “we’ll fix it later” And end up with: a fragile mess no one wants to touch Instead, we did something boring but right: enabled cookie sessions (withCredentials) introduced a proper flow after login (login → context → work) moved permissions to context (not login) normalized API responses implemented real logout (not just “delete token and pray”) Here’s the funny part: 👉 nothing changed visually 👉 users didn’t notice anything But under the hood: one user can belong to multiple companies roles differ per branch backend actually enforces access frontend stops guessing and starts following rules Big takeaway: the most important changes are the ones users never see And yeah, the classic: “Let’s just ship the feature, we’ll fix it later” No 🙂 Sometimes you need to lay the rails first, otherwise the train will move… just not where you expect. P.S. If your frontend starts acting weird after “small backend changes” - it’s probably not a bug. It’s architecture reminding you it exists 🙂 https://hahazen.com/ #frontend #webdevelopment #softwareengineering #javascript #reactjs #nextjs #api #backend #fullstack #webdev #architecture #systemdesign #rbac #authentication #authorization #cookies #session #apiintegration
To view or add a comment, sign in
-
-
⚛️ You can finally delete <Context.Provider> 👇 For years, the Context API introduced a small but persistent redundancy. We defined a Context object, yet we couldn’t render it directly—we had to access the .Provider property every single time. ⚛️ React 19 removes this requirement. ❌ The Old Way: UserContext.Provider It often felt like an implementation detail leaking into JSX. Forget .Provider, and your app might silently fail or behave unexpectedly. ✅ The Modern Way: <UserContext> The Context object itself is now a valid React component. Just render it directly. Why this matters ❓ 📉 Less Noise — Cleaner JSX, especially with deeply nested providers 🧠 More Intuitive — Matches how we think: “wrap this in UserContext” 💡 Note: Note: <Context.Consumer> is also largely dead in favor of the use hook or useContext. Starting in React 19, you can render <SomeContext> as a provider. In older versions of React, use <SomeContext.Provider>. #React #JavaScript #WebDevelopment #Frontend #React19
To view or add a comment, sign in
-
-
*💡 A small frontend mistake caused a big backend issue 👇 I was updating only the quantity of an order from UI. But the API payload was also sending: actualStartDate actualEndDate even though I never changed them ❌ Result? Got a 403 permission error for updating dates. 🔍 Root cause: The form state was automatically including default date values in the payload ✅ Fix: Sent only modified fields instead of full object Cleaned payload before API call 💡 Lesson: Frontend is not just UI — payload control matters a lot Unnecessary fields = unexpected bugs Have you faced something like this? #frontend #reactjs #debugging #webdevelopment
To view or add a comment, sign in
-
Mistake #5: I ignored how keys work in React. I used index as key everywhere because it “worked”. Until it didn’t. I started seeing strange UI issues like wrong items updating, unexpected re-renders, state behaving oddly. That’s when I understood that keys are not just to remove warnings. They define identity for elements during reconciliation. If identity is wrong, React reuses the wrong elements. Once I fixed this, a lot of “random bugs” just disappeared. Follow for Day 6. Repost if you’ve used index as key without thinking. #reactjs #frontend #javascript #webdevelopment #performance #cleanCode
To view or add a comment, sign in
-
-
𝐈𝐬 𝐲𝐨𝐮𝐫 `useEffect` 𝐡𝐨𝐨𝐤 𝐫𝐮𝐧𝐧𝐢𝐧𝐠 𝐭𝐨𝐨 𝐨𝐟𝐭𝐞𝐧, 𝐨𝐫 𝐧𝐨𝐭 𝐞𝐧𝐨𝐮𝐠𝐡? 𝐘𝐨𝐮'𝐫𝐞 𝐧𝐨𝐭 𝐚𝐥𝐨𝐧𝐞. I’ve seen countless `useEffect` bugs boil down to one thing: incorrect dependency arrays. It’s deceptively simple, but a missing dependency can lead to stale closures and unexpected behavior, while an unnecessary one can trigger re-renders like crazy. Consider this: if you define a function or object inside your component and use it in `useEffect`, it must be in your dependency array. However, if that function itself isn't memoized with `useCallback` (or the object with `useMemo`), it becomes a new reference on every render, causing your `useEffect` to fire relentlessly. The Fix: 1. Be explicit: List all values from your component scope that `useEffect` uses. ESLint usually flags this for a reason. 2. Memoize functions/objects: If a function or object needs to be a dependency but shouldn't trigger re-runs unless its own dependencies change, wrap it in `useCallback` or `useMemo`. ```javascript // Problem: myApiCall changes every render if not memoized const MyComponent = ({ id }) => { const myApiCall = () => fetch(`/data/${id}`); useEffect(() => { myApiCall(); // myApiCall is a new function on every render }, [myApiCall]); // Infinite loop! } // Solution: const MyComponent = ({ id }) => { const myApiCall = useCallback(() => fetch(`/data/${id}`), [id]); useEffect(() => { myApiCall(); }, [myApiCall]); // Now, myApiCall only changes when 'id' changes } ``` It's a subtle but critical distinction that keeps your React apps performant and predictable. What's the trickiest `useEffect` bug you've ever had to squash? #React #JavaScript #FrontendDevelopment #WebDev #Performance
To view or add a comment, sign in
-
🔯 You can finally delete <Context.Provider> 👇 For years, the Context API introduced a small but persistent redundancy. We defined a Context object, yet we couldn't render it directly-we had to access the.Provider property every single time. 🔯 React 19 removes this requirement. ❌ The Old Way: UserContext.Provider It often felt like an implementation detail leaking into JSX. Forget Provider, and your app might silently fail or behave unexpectedly. ✅ The Modern Way: <UserContext> The Context object itself is now a valid React component. Just render it directly. Why this matters ❓ 📉 Less Noise - Cleaner JSX, especially with deeply nested providers 🧠 More Intuitive - Matches how we think: "wrap this in UserContext" 💡Note: Note: <Context.Consumer> is also largely dead in favor of the use hook or useContext. Starting in React 19, you can render <SomeContext> as a provider. In older versions of React, use <SomeContext.Provider>. 💬 Have you tried this in your project? 💬 React 18 or 19 — what are you using? 🔗 Learn More: React Context Docs: https://lnkd.in/dbVWdc-C #React #JavaScript #WebDevelopment #Frontend #React19 #ModernReact #ReactHook #CodingLife #DeveloperJourney #SoftwareDeveloper
To view or add a comment, sign in
-
-
useState is great for simple values. But when state starts spreading across multiple fields, conditions, and edge cases, useReducer usually wins. Why? Because it makes state changes predictable. Instead of chasing setters across a component, you define actions and keep update logic in one place. - Less guessing. - Less scattered logic. - Cleaner React. My rule: Use useState for simple state. Use useReducer when state has multiple ways to change. React gets easier when state transitions are explicit. #react #javascript #frontend #webdevelopment
To view or add a comment, sign in
-
Over-engineering a React component is one of the easiest ways to slow down a team without anyone noticing. I've seen it happen on our main platform, a component gets useState, useEffect, a context provider, and three custom hooks just to fetch and display data that never changes on the client. In Next.js, that's often just a server component with a database call. No hydration, no client bundle cost, no re-render logic to debug at 4pm on a Friday. The real cost isn't the extra code. It's the next engineer who inherits it, assumes the complexity is intentional, and builds more complexity on top of it. My rough rule now: if the component doesn't respond to user interaction or browser APIs, it probably shouldn't be a client component at all. Where have you seen unnecessary client-side complexity sneak into a codebase? Curious whether others have a heuristic they use to make the call. #reactjs #nextjs #typescript --- **
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