Skip to content

Latest commit

ย 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’• DateKarle - Frontend

React TypeScript Tailwind CSS Vite PWA

๐ŸŒŸ DateKarle - Find Your Perfect Match

Yahan milega tumhara pyaar! ๐Ÿ’

A modern, intuitive dating app built with React - connecting hearts across India

License Stars Forks Issues

โœจ Features

๐ŸŽญ User Experience

  • ๐Ÿš€ Lightning-fast Progressive Web App (PWA)
  • ๐Ÿ“ฑ Responsive design for mobile, tablet, and desktop
  • ๐ŸŒ™ Dark/Light mode toggle
  • ๐ŸŒ Multi-language support (Hindi, English, regional languages)
  • โ™ฟ Accessibility-first design (WCAG 2.1 compliant)
  • ๐ŸŽจ Smooth animations and micro-interactions

๐Ÿ’ Core Dating Features

  • ๐Ÿ‘† Intuitive swipe gestures (like Tinder, but better!)
  • ๐Ÿ’• Smart matching algorithm integration
  • ๐Ÿ“ธ Multi-photo profile creation with drag & drop
  • ๐ŸŽฏ Advanced filtering (age, location, interests, profession)
  • โญ Super likes and boosts
  • ๐Ÿ”„ Undo swipe functionality
  • ๐Ÿ“ Location-based discovery

๐Ÿ’ฌ Communication

  • ๐Ÿ’Œ Real-time messaging with WebSocket
  • ๐Ÿ“ท Photo and media sharing
  • ๐Ÿ˜Š Emoji reactions and stickers
  • โœ… Read receipts and typing indicators
  • ๐ŸŽฅ Video call integration
  • ๐Ÿ”‡ Message encryption for privacy

๐ŸŽฏ Smart Features

  • ๐Ÿง  AI-powered conversation starters
  • ๐ŸŽช Icebreaker games and questions
  • ๐Ÿ“Š Profile completion suggestions
  • ๐Ÿ† Gamification elements (streaks, achievements)
  • ๐ŸŽ Daily rewards and challenges
  • ๐Ÿ“ฑ Push notifications

๐Ÿ’Ž Premium Features

  • ๐Ÿ’ณ Stripe payment integration
  • ๐Ÿ‘‘ Premium badges and profile highlights
  • ๐Ÿ” Advanced search filters
  • ๐Ÿ“ˆ Profile analytics and insights
  • ๐Ÿšซ Ad-free experience
  • ๐Ÿ’ซ Priority matching

๐Ÿ—๏ธ Project Structure

src/
โ”œโ”€โ”€ components/          # Reusable UI components
โ”‚   โ”œโ”€โ”€ ui/             # Basic UI elements (Button, Modal, etc.)
โ”‚   โ”œโ”€โ”€ forms/          # Form components
โ”‚   โ”œโ”€โ”€ layout/         # Layout components (Header, Sidebar)
โ”‚   โ””โ”€โ”€ features/       # Feature-specific components
โ”œโ”€โ”€ pages/              # Route components
โ”‚   โ”œโ”€โ”€ auth/           # Authentication pages
โ”‚   โ”œโ”€โ”€ profile/        # Profile management
โ”‚   โ”œโ”€โ”€ discover/       # Swipe/Discovery page
โ”‚   โ”œโ”€โ”€ matches/        # Matches and conversations
โ”‚   โ””โ”€โ”€ settings/       # App settings
โ”œโ”€โ”€ hooks/              # Custom React hooks
โ”œโ”€โ”€ services/           # API calls and external services
โ”œโ”€โ”€ utils/              # Helper functions and utilities
โ”œโ”€โ”€ store/              # State management (Redux/Zustand)
โ”œโ”€โ”€ styles/             # Global styles and themes
โ”œโ”€โ”€ assets/             # Static assets (images, icons)
โ”œโ”€โ”€ types/              # TypeScript type definitions
โ””โ”€โ”€ tests/              # Test files

๐Ÿš€ Quick Start

Prerequisites

  • Node.js (v18+ recommended)
  • npm or yarn
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/datekarle-frontend.git
    cd datekarle-frontend
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment setup

    cp .env.example .env.local
    # Edit .env.local with your configuration
  4. Start development server

    npm run dev
    # or
    yarn dev
  5. Open your browser

    http://localhost:5173
    

๐Ÿ”ง Environment Configuration

Environment Variables

# API Configuration
VITE_API_BASE_URL=http://localhost:3000/api/v1
VITE_SOCKET_URL=ws://localhost:3000
VITE_APP_ENV=development

# Authentication
VITE_GOOGLE_CLIENT_ID=your-google-client-id
VITE_FACEBOOK_APP_ID=your-facebook-app-id

# Maps & Location
VITE_GOOGLE_MAPS_API_KEY=your-google-maps-key
VITE_MAPBOX_ACCESS_TOKEN=your-mapbox-token

# Payment
VITE_STRIPE_PUBLISHABLE_KEY=pk_test_your-stripe-key

# Analytics
VITE_GA_MEASUREMENT_ID=G-XXXXXXXXXX
VITE_MIXPANEL_TOKEN=your-mixpanel-token

# Push Notifications
VITE_VAPID_PUBLIC_KEY=your-vapid-public-key

# App Configuration
VITE_APP_NAME=DateKarle
VITE_APP_VERSION=1.0.0
VITE_SUPPORT_EMAIL=support@datekarle.com

๐Ÿ“ฑ Key Pages & Components

๐Ÿ” Authentication Flow

/login              # Email/Phone login
/register           # User registration
/verify             # OTP verification
/profile-setup      # Initial profile creation
/photo-upload       # Photo upload wizard

๐Ÿ  Main Application

/                   # Landing/Welcome page
/discover           # Swipe/Discovery interface
/matches            # Mutual matches list
/chat/:id           # Individual chat interface
/profile            # User profile management
/settings           # App settings and preferences
/premium            # Premium subscription page

๐ŸŽจ Core Components

SwipeCard Component

<SwipeCard
  user={user}
  onLike={handleLike}
  onPass={handlePass}
  onSuperLike={handleSuperLike}
  enableUndo={true}
/>

ChatInterface Component

<ChatInterface
  conversationId={conversationId}
  onSendMessage={handleSendMessage}
  realTime={true}
  encryption={true}
/>

๐ŸŽจ Design System

Color Palette

/* Primary Colors */
--primary-500: #FF6B9D;     /* DateKarle Pink */
--primary-600: #E5005C;     /* Darker Pink */
--primary-400: #FF8FB3;     /* Lighter Pink */

/* Secondary Colors */
--secondary-500: #4ECDC4;   /* Teal */
--accent-500: #FFD93D;      /* Yellow */
--success-500: #6BCF7F;     /* Green */
--warning-500: #FFB347;     /* Orange */
--error-500: #FF6B6B;       /* Red */

/* Neutral Colors */
--gray-50: #F9FAFB;
--gray-900: #111827;

Typography

/* Font Families */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

/* Font Weights */
--font-light: 300;
--font-regular: 400;
--font-medium: 500;
--font-semibold: 600;
--font-bold: 700;

Spacing System

/* Tailwind-based spacing */
--spacing-1: 0.25rem;    /* 4px */
--spacing-2: 0.5rem;     /* 8px */
--spacing-4: 1rem;       /* 16px */
--spacing-6: 1.5rem;     /* 24px */
--spacing-8: 2rem;       /* 32px */

๐Ÿงช Testing

Available Scripts

# Run all tests
npm run test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

# Run E2E tests
npm run test:e2e

# Run component tests
npm run test:components

Testing Stack

  • Unit Tests: Jest + React Testing Library
  • E2E Tests: Playwright
  • Visual Tests: Chromatic
  • Performance Tests: Lighthouse CI

Test Structure

src/
โ”œโ”€โ”€ __tests__/          # Global tests
โ”œโ”€โ”€ components/
โ”‚   โ””โ”€โ”€ __tests__/      # Component tests
โ”œโ”€โ”€ pages/
โ”‚   โ””โ”€โ”€ __tests__/      # Page tests
โ””โ”€โ”€ utils/
    โ””โ”€โ”€ __tests__/      # Utility tests

e2e/                    # End-to-end tests
โ”œโ”€โ”€ specs/
โ”œโ”€โ”€ fixtures/
โ””โ”€โ”€ support/

๐Ÿ“ฆ Build & Deployment

Build Commands

# Development build
npm run build:dev

# Production build
npm run build

# Analyze bundle
npm run analyze

# Preview production build
npm run preview

Deployment Options

Vercel (Recommended)

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel --prod

Netlify

# Build command: npm run build
# Publish directory: dist
# Environment variables: Set in Netlify dashboard

AWS S3 + CloudFront

# Build and sync to S3
npm run build
aws s3 sync dist/ s3://your-bucket-name

Docker Deployment

# Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 4173
CMD ["npm", "run", "preview"]

๐Ÿ“Š Performance Optimization

Core Web Vitals Targets

  • LCP (Largest Contentful Paint): < 2.5s
  • FID (First Input Delay): < 100ms
  • CLS (Cumulative Layout Shift): < 0.1

Optimization Strategies

  • ๐Ÿ–ผ๏ธ Image optimization with WebP/AVIF
  • ๐Ÿ“ฆ Code splitting and lazy loading
  • ๐Ÿ—„๏ธ Service Worker for caching
  • โšก Vite for fast development and builds
  • ๐ŸŽฏ Bundle size monitoring
  • ๐Ÿ“ฑ Progressive Web App features

๐ŸŒ Internationalization (i18n)

Supported Languages

  • ๐Ÿ‡ฎ๐Ÿ‡ณ Hindi (hi)
  • ๐Ÿ‡ฌ๐Ÿ‡ง English (en)
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Punjabi (pa)
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Bengali (bn)
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Tamil (ta)
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Telugu (te)

Usage Example

import { useTranslation } from 'react-i18next';

function WelcomeMessage() {
  const { t } = useTranslation();
  
  return (
    <h1>{t('welcome.title', 'Welcome to DateKarle!')}</h1>
  );
}

๐Ÿ”’ Security & Privacy

Security Measures

  • ๐Ÿ›ก๏ธ Content Security Policy (CSP)
  • ๐Ÿ” HTTPS enforcement
  • ๐Ÿšซ XSS protection
  • ๐Ÿ› ๏ธ Dependency vulnerability scanning
  • ๐Ÿ”’ Secure authentication flow
  • ๐Ÿ“ฑ Biometric authentication support

Privacy Features

  • ๐Ÿ™ˆ Anonymous browsing mode
  • ๐Ÿ—‘๏ธ Data deletion tools
  • ๐Ÿ”’ End-to-end message encryption
  • ๐Ÿ“ Location privacy controls
  • ๐Ÿ‘ป Invisible mode
  • ๐Ÿšซ Block and report functionality

๐Ÿ“ฑ Progressive Web App (PWA)

PWA Features

  • ๐Ÿ“ฑ Installable on mobile and desktop
  • ๐Ÿ”„ Offline functionality
  • ๐Ÿ”” Push notifications
  • ๐ŸŽฏ App-like experience
  • โšก Fast loading and caching
  • ๐Ÿ”„ Background sync

Installation

Users can install DateKarle directly from their browser:

  1. Visit the website
  2. Click "Add to Home Screen" prompt
  3. Enjoy the native app experience!

๐Ÿค Contributing

We welcome contributions from the community! Please check out our Contributing Guide.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Code Standards

  • โœ… Follow ESLint and Prettier configurations
  • ๐Ÿงช Write tests for new features
  • ๐Ÿ“ Update documentation
  • ๐ŸŽจ Follow the design system
  • โ™ฟ Ensure accessibility compliance

Commit Convention

feat: add new swipe animation
fix: resolve chat loading issue
docs: update README
style: improve button hover effects
test: add profile component tests

๐Ÿš€ Roadmap

๐ŸŽฏ Version 1.1 (Next Quarter)

  • Voice messages in chat
  • Video profile introductions
  • AI-powered conversation suggestions
  • Advanced matching preferences
  • Social media integration

๐ŸŽฏ Version 1.2 (Future)

  • AR filters for photos
  • Virtual dating experiences
  • Community events and meetups
  • Dating coach integration
  • Personality assessments

๐Ÿ“Š Analytics & Monitoring

Tracking Events

// User engagement
trackEvent('swipe_right', { userId, targetUserId });
trackEvent('message_sent', { conversationId });
trackEvent('profile_viewed', { profileId });

// Conversion tracking
trackEvent('subscription_started', { plan, amount });
trackEvent('match_created', { userId1, userId2 });

Performance Monitoring

  • ๐Ÿ“ˆ Sentry for error tracking
  • ๐Ÿ“Š Google Analytics for user behavior
  • โšก Lighthouse CI for performance
  • ๐Ÿ“ฑ Firebase Performance for mobile metrics

๐Ÿ†˜ Troubleshooting

Common Issues

Build Errors

# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm install

Environment Variables Not Loading

# Check file naming
.env.local       # โœ… Correct
.env             # โŒ Won't work in Vite

WebSocket Connection Issues

# Check CORS settings in backend
# Verify VITE_SOCKET_URL is correct
# Check firewall/network restrictions

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ‘ฅ Team


Your Name
Frontend Lead

Designer Name
UI/UX Designer

Developer Name
React Developer

๐ŸŒŸ Acknowledgments

  • ๐Ÿ’• Inspired by the need for authentic connections in the digital age
  • ๐ŸŽจ Design inspiration from Material Design and modern dating apps
  • ๐Ÿš€ Built with cutting-edge React ecosystem tools
  • ๐Ÿ™ Thanks to the open-source community
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Made with love for bringing people together across India

๐Ÿ“ž Support

Need help? We're here for you!

๐Ÿ“ง Email: support@datekarle.com
๐Ÿ’ฌ Discord: Join our community
๐Ÿ“ฑ WhatsApp: +91 XXXX XXXXXX
๐Ÿ› Issues: GitHub Issues
๐Ÿ“– Docs: Full Documentation


๐Ÿ’• DateKarle - Yahan Milega Tumhara Pyaar!

โญ Star this repository if you believe in love!

Connect. Match. Fall in Love. ๐Ÿ’

About

Client for datekarle server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages