Welcome to Flirting Singles Virtual, aka Flirting Singles. Flirting Singles is a vibrant online dating application that goes beyond just swiping. We offer a comprehensive social networking experience built based on what actual users said in interviews they wanted or didn't want when it comes to online dating.
- VirtualKaraoke Sing your favorite songs with other members, chat, join different karaoke rooms, create your own rooms and send invites, and more.
- VirtualBingo Exclusive high-stakes bingo with real prizes, professional caller, advanced power-ups and more.
- VirtualParanormalActivity Immersive multiplayer ghost hunting experience in Virtual Reality.
- VideoProfiles Create dynamic video profiles to showcase your personality.
- Private and GroupMessaging Connect with other singles through private and group chats.
- Activity Feed Stay updated with the latest posts from your network, with the ability to create posts, share photos, videos, and more.
- FeedbackFeature Send us your feedback and help us to know where improvements need to be made, and send us your ideas for any new features you'd like to see in the future. Watch live video via the website during the development process and watch your ideas come to life.
- Memberships Explore different membership levels (Free, Gold, Platinum, Diamond) to unlock addtional features.
Flirting-singles-virtual is built using the following technologies:
- Frontend React, JavaScript, HTML
- Backend Node.js, Express
- Database MongoDB
These instructions will get a copy of the project up and running on your local machine for development and testing purposes.
You will need to have the following installed on your machine:
- Node.js (LTS version recommended)
- MongoDB
A premium social gaming platform featuring Virtual Karaoke, Diamond Bingo, and VR Paranormal Investigation games designed to bring people together through immersive experiences.
- Access: Free tier and above
- Players: Up to 10 per room
- Features: Real-time video chat, professional scoring, duet mode
- Duration: 60 minutes per session
- Access: Diamond membership required ($29.99/month)
- Players: Up to 50 per game
- Features: $50K+ prize pools, exclusive power-ups, VIP support
- Duration: 30 minutes per game
- Entry Fee: 100+ credits
- Access: Platinum+ membership required ($19.99/month)
- Players: 2-6 per investigation team
- Features: Full VR immersion, ghost hunting equipment, team communication
- Duration: 30 minutes per investigation
- Entry Fee: 250+ credits
- Requirements: VR headset, 6x6ft play space
- React 18 - UI framework
- Tailwind CSS - Styling with custom color scheme (Pink, Black, White, Purple, Gray)
- Three.js - 3D graphics for VR scenes
- Lucide React - Icon library
- Socket.io Client - Real-time communication
- Node.js - Runtime environment
- Express.js - Web framework
- Socket.io - Real-time websockets
- Firebase Firestore - NoSQL database
- Firebase Hosting - Frontend hosting
- Firebase Authentication - User management
- Firebase Functions - Serverless backend
project-root/
โโโ frontend/ # React application
โ โโโ src/
โ โ โโโ components/
โ โ โ โโโ games/
โ โ โ โ โโโ karaoke/ # Karaoke components
โ โ โ โ โโโ bingo/ # Bingo components
โ โ โ โ โโโ vr/ # VR game components
โ โ โ โโโ ui/ # Reusable UI components
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ utils/ # Utility functions
โ โ โโโ styles/ # CSS files
โ โ โโโ data/ # Game data (ghosts, equipment, etc.)
โ โ โโโ pages/ # Main page components
โ โโโ public/
โ โโโ package.json
โโโ backend/ # Node.js/Express API
โ โโโ src/
โ โ โโโ routes/ # API routes
โ โ โโโ middleware/ # Express middleware
โ โ โโโ services/ # Business logic
โ โ โโโ config/ # Configuration
โ โโโ package.json
โโโ README.md
- Node.js 16+ and npm
- Firebase account
- VR headset (for VR game testing)
git clone <repository-url>
cd dating-games-platform
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm install# Install Firebase CLI
npm install -g firebase-tools
# Login to Firebase
firebase login
# Initialize Firebase project
firebase initCreate frontend/.env:
REACT_APP_FIREBASE_API_KEY=your_api_key
REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
REACT_APP_FIREBASE_PROJECT_ID=your_project_id
REACT_APP_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
REACT_APP_FIREBASE_APP_ID=your_app_id
REACT_APP_FIREBASE_MEASUREMENT_ID=your_measurement_idCreate backend/.env:
PORT=5000
NODE_ENV=development
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_PRIVATE_KEY=your_private_key
FIREBASE_CLIENT_EMAIL=your_client_email# Terminal 1 - Frontend
cd frontend
npm start
# Terminal 2 - Backend
cd backend
npm run dev- Microphone access
- Camera access (optional)
- Stable internet (5+ Mbps)
- Diamond membership verification
- Credit system integration
- Real-time number calling system
- WebXR compatible browser (Chrome/Edge)
- VR headset (Meta Quest, HTC Vive, etc.)
- 6x6ft minimum play space
- Hand controllers
- High-speed internet (25+ Mbps)
| Tier | Price | Games Access | Features |
|---|---|---|---|
| Free | $0 | Karaoke | Basic features, 100 credits max |
| Silver | $9.99 | Karaoke | Voice chat, 500 credits max |
| Gold | $14.99 | Karaoke | Video chat, 1000 credits max |
| Platinum | $19.99 | Karaoke + VR | VR games, 5000 credits max |
| Diamond | $29.99 | All Games | Everything + Diamond Bingo, 25000 credits max |
// Users Collection
users: {
userId: {
name: string,
email: string,
membershipTier: string,
credits: number,
avatar: string,
totalWins: number,
joinDate: timestamp
}
}
// Games Collection
games: {
gameId: {
type: string, // 'karaoke', 'bingo', 'vr'
status: string, // 'lobby', 'active', 'completed'
participants: array,
settings: object,
createdAt: timestamp
}
}
// Memberships Collection
memberships: {
userId: {
tier: string,
expiryDate: timestamp,
autoRenew: boolean,
paymentMethod: string
}
}- Primary: Pink (#ec4899), Purple (#8b5cf6)
- Neutral: Black (#000000), White (#ffffff), Gray (#6b7280)
- Game Themes:
- Karaoke: Pink to Purple gradient
- Bingo: Blue to Cyan gradient
- VR: Purple to Red gradient
.btn-primary /* Pink to purple gradient button */
.btn-karaoke /* Karaoke-themed button */
.btn-bingo /* Bingo-themed button */
.btn-vr /* VR-themed button */
.game-card /* Game selection card */
.modal-backdrop /* Modal overlay */
.glass /* Glassmorphism effect */POST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/logout- User logout
GET /api/games/active- Get active game roomsPOST /api/games/create- Create new game roomPOST /api/games/join- Join existing gameDELETE /api/games/leave- Leave current game
GET /api/membership/status- Get user membershipPOST /api/membership/upgrade- Upgrade membershipPOST /api/membership/cancel- Cancel membership
cd frontend
npm run build
firebase deploy --only hostingcd backend
firebase deploy --only functions// Firestore Security Rules
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
match /games/{gameId} {
allow read: if request.auth != null;
allow write: if request.auth != null &&
(resource == null || request.auth.uid in resource.data.participants);
}
}
}cd frontend
npm test # Run unit tests
npm run test:e2e # Run end-to-end testscd backend
npm test # Run API tests
npm run test:integration # Run integration tests- Connect VR headset
- Open Chrome/Edge browser
- Navigate to
https://localhost:3000/games/vr - Allow VR permissions
- Test hand tracking and movement
- Karaoke: Full mobile support with touch controls
- Bingo: Responsive design for tablets and phones
- VR: Requires VR headset, no mobile support
- Firebase Authentication
- Membership tier verification
- Anti-cheating measures for games
- Rate limiting on API endpoints
- Secure payment processing
- Content moderation for chat
VR not working:
- Check WebXR browser support
- Verify VR headset connection
- Clear browser cache
- Check HTTPS connection
Audio issues in Karaoke:
- Allow microphone permissions
- Check audio device settings
- Test with different browsers
- Restart audio devices
Membership verification failing:
- Check payment method
- Verify email confirmation
- Contact support for manual verification
For technical support or membership issues:
- Email: support@datinggames.com
- Discord: Join our community server
- Documentation: Visit our help center
Proprietary - All rights reserved
Ready to bring people together through gaming? Start your development journey now! ๐