Skip to content

vineethkumar1607/devTinder_Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

devTinder Frontend

devTinder Banner

A Modern Developer Networking Platform

Welcome to the devTinder Frontend repository! This project powers the client-side experience for devTinder β€” a networking platform where developers can connect, collaborate, and grow professionally.


πŸ“‘ Table of Contents


✨ Features

βœ… Implemented

  • Authentication System

    • Login/Logout with JWT and cookie-based session
    • Global session validation using AppLayout
    • Protected & Public route guards with route preservation
    • Form validation using useLoginForm hook
    • Inline error display and layout-safe error handling
  • Global State Management

    • Redux Toolkit (userSlice, appStore)
    • isAuthenticated, isLoading, user state maintained globally
  • UI Components

    • Optimized Navbar with memoization and shallowEqual
    • Reusable TextInput, PasswordInput
    • Spinner component for loading states
    • Toast notifications for success (react-hot-toast)
  • Logout Feature

    • Logout implemented via reusable useLogout hook
    • Secure backend logout with cookie removal and Redux reset
  • Routing

    • React Router v6.23 setup
    • Nested layouts (AppLayout, MainLayout, PublicLayout)
    • NotFound page for unknown routes
  • User Experience

    • Fully responsive design (DaisyUI + Tailwind)

    • Mobile-first navigation support

    • Inline validation, no layout shifts during error states

    • Profile Management System

    • Complete edit profile functionality with createAsyncThunk

    • Formik-based profile editing form with validation schema

    • New form field components (TextInput, TextArea, GenderSelect, SkillsInput)

    • Redux-powered profile state management

    • Success/error toast notifications for profile updates

  • Developer Feed

    • Implemented Feed page with developer cards
    • Responsive card design with skills display
    • Interactive action buttons (Ignore/Interested)
    • Profile picture handling with fallbacks

🚧 Planned

  • Developer profile creation/editing
  • Developer discovery cards (swipe or match-based)
  • Messaging & real-time chat (WebSocket/Socket.io)
  • Notification system for invites/messages

πŸ›  Technologies Used

Category Technology
Framework React 18
Build Tool Vite 4
Styling Tailwind CSS + DaisyUI
Routing React Router v6
State Manager Redux Toolkit
API Handling Axios 1.5
Notifications react-hot-toast
Backend API Node.js + Express

βš™οΈ Getting Started

πŸ“Œ Prerequisites

  • Node.js β‰₯ 18.x
  • npm β‰₯ 8.x (or Yarn)
  • Git

πŸ”§ Installation

git clone https://github.com/your-username/devtinder-frontend.git
cd devtinder-frontend
npm install




src/
β”œβ”€β”€ assets/                  # Static files (images, icons)
β”œβ”€β”€ components/              # Reusable UI components
β”‚   β”œβ”€β”€ auth/                # Auth-related components
β”‚   β”‚   β”œβ”€β”€ LoginForm.jsx
β”‚   β”‚  
β”‚   β”‚  
β”‚   β”œβ”€β”€ formFields/         # Generic input components
β”‚   β”‚    β”œβ”€β”€PasswordInput.jsx
β”‚   β”‚    β”œβ”€β”€ TextInput.jsx
β”‚   β”‚    β”œβ”€β”€ TextArea.jsx
β”‚   β”‚    β”œβ”€β”€ SkillsInput.jsx
β”‚   β”‚    └── GenderSelect.jsx
β”‚   β”‚           
β”‚   β”œβ”€β”€ Navbar.jsx           # Memoized Navbar
β”‚   └── Spinner.jsx          # Loading spinner
β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ useLoginForm.js      # Custom login form logic
β”‚   └── useLogout.js         # Reusable logout logic
β”œβ”€β”€ layouts/                 # Layout components (MainLayout, PublicLayout)
β”‚   β”œβ”€β”€ AppLayout.jsx        # Global auth/session checker
β”‚   β”œβ”€β”€ MainLayout.jsx       # Protected layout with navbar
β”‚   └── PublicLayout.jsx     # Login/signup-only layout
β”œβ”€β”€ pages/                   # Route-based pages
β”‚   β”œβ”€β”€ Connections.jsx
β”‚   β”œβ”€β”€ Home.jsx
β”‚   β”œβ”€β”€ LoginPage.jsx
β”‚   β”œβ”€β”€ ErrorPage.jsx
β”‚   β”œβ”€β”€ NotFound.jsx
β”‚   β”œβ”€β”€ Profile.jsx
β”‚   β”œβ”€β”€            .jsx
β”œβ”€β”€ routes/                  # React Router config
β”‚   β”œβ”€β”€ ProtectedRoute.jsx
β”‚   β”œβ”€β”€ PublicRoute.jsx
β”‚   └── router.jsx
β”‚    
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ constants.js         # API base URL and other constants 
β”‚   β”œβ”€β”€ axiosInstance.js     # Axios instance with cookies enabled
β”‚   β”œβ”€β”€ formValidators.js    # Input validation logic
β”‚   β”œβ”€β”€ profileValidation.js # update profile validation schema
β”‚   └── redux/               # Redux config
β”‚       β”œβ”€β”€ appStore.js
β”‚       β”œβ”€β”€ feedSlice.js
β”‚       β”œβ”€β”€ userSlice.js
β”œβ”€β”€ App.jsx                  # Root component
β”œβ”€β”€ App.css                  # Global styles
└── index.css                # Tailwind & DaisyUI base styles
└── Main.jsx.css             # Tailwind & DaisyUI base styles






// for later
## Real-time connection requests (your case)

About

Developer tinder platform

Topics

Resources

Stars

Watchers

Forks

Contributors