Yahan milega tumhara pyaar! ๐
A modern, intuitive dating app built with React - connecting hearts across India
- ๐ 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
- ๐ 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
- ๐ 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
- ๐ง AI-powered conversation starters
- ๐ช Icebreaker games and questions
- ๐ Profile completion suggestions
- ๐ Gamification elements (streaks, achievements)
- ๐ Daily rewards and challenges
- ๐ฑ Push notifications
- ๐ณ Stripe payment integration
- ๐ Premium badges and profile highlights
- ๐ Advanced search filters
- ๐ Profile analytics and insights
- ๐ซ Ad-free experience
- ๐ซ Priority matching
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
- Node.js (v18+ recommended)
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/yourusername/datekarle-frontend.git cd datekarle-frontend -
Install dependencies
npm install # or yarn install -
Environment setup
cp .env.example .env.local # Edit .env.local with your configuration -
Start development server
npm run dev # or yarn dev -
Open your browser
http://localhost:5173
# 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/login # Email/Phone login
/register # User registration
/verify # OTP verification
/profile-setup # Initial profile creation
/photo-upload # Photo upload wizard
/ # 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
<SwipeCard
user={user}
onLike={handleLike}
onPass={handlePass}
onSuperLike={handleSuperLike}
enableUndo={true}
/><ChatInterface
conversationId={conversationId}
onSendMessage={handleSendMessage}
realTime={true}
encryption={true}
/>/* 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;/* 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;/* 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 */# 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- Unit Tests: Jest + React Testing Library
- E2E Tests: Playwright
- Visual Tests: Chromatic
- Performance Tests: Lighthouse CI
src/
โโโ __tests__/ # Global tests
โโโ components/
โ โโโ __tests__/ # Component tests
โโโ pages/
โ โโโ __tests__/ # Page tests
โโโ utils/
โโโ __tests__/ # Utility tests
e2e/ # End-to-end tests
โโโ specs/
โโโ fixtures/
โโโ support/
# Development build
npm run build:dev
# Production build
npm run build
# Analyze bundle
npm run analyze
# Preview production build
npm run preview# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prod# Build command: npm run build
# Publish directory: dist
# Environment variables: Set in Netlify dashboard# Build and sync to S3
npm run build
aws s3 sync dist/ s3://your-bucket-name# Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 4173
CMD ["npm", "run", "preview"]- LCP (Largest Contentful Paint): < 2.5s
- FID (First Input Delay): < 100ms
- CLS (Cumulative Layout Shift): < 0.1
- ๐ผ๏ธ 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
- ๐ฎ๐ณ Hindi (
hi) - ๐ฌ๐ง English (
en) - ๐ฎ๐ณ Punjabi (
pa) - ๐ฎ๐ณ Bengali (
bn) - ๐ฎ๐ณ Tamil (
ta) - ๐ฎ๐ณ Telugu (
te)
import { useTranslation } from 'react-i18next';
function WelcomeMessage() {
const { t } = useTranslation();
return (
<h1>{t('welcome.title', 'Welcome to DateKarle!')}</h1>
);
}- ๐ก๏ธ Content Security Policy (CSP)
- ๐ HTTPS enforcement
- ๐ซ XSS protection
- ๐ ๏ธ Dependency vulnerability scanning
- ๐ Secure authentication flow
- ๐ฑ Biometric authentication support
- ๐ Anonymous browsing mode
- ๐๏ธ Data deletion tools
- ๐ End-to-end message encryption
- ๐ Location privacy controls
- ๐ป Invisible mode
- ๐ซ Block and report functionality
- ๐ฑ Installable on mobile and desktop
- ๐ Offline functionality
- ๐ Push notifications
- ๐ฏ App-like experience
- โก Fast loading and caching
- ๐ Background sync
Users can install DateKarle directly from their browser:
- Visit the website
- Click "Add to Home Screen" prompt
- Enjoy the native app experience!
We welcome contributions from the community! Please check out our Contributing Guide.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- โ Follow ESLint and Prettier configurations
- ๐งช Write tests for new features
- ๐ Update documentation
- ๐จ Follow the design system
- โฟ Ensure accessibility compliance
feat: add new swipe animation
fix: resolve chat loading issue
docs: update README
style: improve button hover effects
test: add profile component tests
- Voice messages in chat
- Video profile introductions
- AI-powered conversation suggestions
- Advanced matching preferences
- Social media integration
- AR filters for photos
- Virtual dating experiences
- Community events and meetups
- Dating coach integration
- Personality assessments
// 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 });- ๐ Sentry for error tracking
- ๐ Google Analytics for user behavior
- โก Lighthouse CI for performance
- ๐ฑ Firebase Performance for mobile metrics
# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm install# Check file naming
.env.local # โ
Correct
.env # โ Won't work in Vite# Check CORS settings in backend
# Verify VITE_SOCKET_URL is correct
# Check firewall/network restrictionsThis project is licensed under the MIT License - see the LICENSE file for details.
Your Name Frontend Lead |
Designer Name UI/UX Designer |
Developer Name React Developer |
- ๐ 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
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
โญ Star this repository if you believe in love!
Connect. Match. Fall in Love. ๐


