PWA CHAT PLATFORM — COMPLETE PROJECT REQUIREMENTS (FINAL VERSION) 1) CUSTOMER PWA Authentication Google Login (Gmail) Login using phone number with OTP ---Customer Profile Username Name Age Gender (Male/Female) City 2) HOMEPAGE Top Bar Company Logo Search Bar Recharge Button Bottom Navigation Home History Profile Model Cards Thumbnail Name Age Ratings Online / Offline / Busy status Verified badge City 3) WALLET & RECHARGE Razorpay Payment Gateway Integration Predefined recharge options Custom amount recharge Wallet balance display Full transaction history API keys integration to be completed by the developer Temporary Razorpay access setup for payment integration 4) HISTORY PAGE Shows list of past chats: Model name Chat duration Date and time Total amount charged 5) PROFILE SECTION Edit profile Logout Privacy Policy Terms & Conditions Report Issue (via email) About Us page Refund Policy page 6) MODEL PROFILE PAGE When a customer clicks a model: Bio 4 photos Name Age Languages Ratings & Reviews Verified tag Status (Online/Offline/Busy) Per-minute charge Chat button 7) CUSTOMER CHAT FLOW Chat is routed to employees (not real models) User sees selected model name on chat box header Charging begins only after employee accepts the chat Timer starts after acceptance When user clicks Chat, show: "Waiting for chat to be accepted" After acceptance, show: "Chat started" and start timer Chat auto-denies if not accepted within 1 minute Wallet auto-deduction per minute End Chat button Back Button Behavior If user presses Back, show confirmation popup User cannot return to homepage without ending the chat Model Name Visibility Must be shown in chat header at all times 8) EMPLOYEE CHAT CONSOLE Employees Minimum 2 employee accounts from start Employees can accept multiple chats simultaneously Admin Access Admin can create employee accounts (ID + Password) Admin can reset or disable employee accounts Layout Requirement WhatsApp Web / Freelancer-style layout Left side: chat list (new + active chats) Right side: chat window Mandatory Features New chat notification sound New message notification sound Chat arrival timestamp on dashboard Option to reset chat charges from admin panel Live timer after accepting chat Model Name visible on: Chat list Chat window header Admin logs Round Robin Chat Assignment 1st chat → Employee A 2nd chat → Employee B 3rd chat → Employee A Repeats Gallery / Media Employee can send images Images must not auto-send A SEND button must be shown When User Ends Chat Employee receives notification Chat disappears from employee’s chat list Chat window closes automatically Employee Restrictions No saved chat history Cannot continue chat after end 9) ADMIN PANEL (FULL CONTROL) Admin Features Dashboard showing total users with wallet balances Total payments received Date filters for reports Create employee accounts Create model accounts Model Status Control Auto Mode System randomly sets statuses, for example: 30 models Online 5 Busy 5 Offline Manual Mode Admin sets Online / Offline / Busy manually Monitoring Daily chats count Total chats received with date filter Total sessions Chat arrival timestamps Optional: View chat logs 10) TECHNOLOGY REQUIREMENTS PWA (Progressive Web App) ( Native app ) Figma UI design required Backend: Node.js or Laravel Database: MySQL / Firebase / MongoDB WebSockets for real-time chat 11) ADDITIONAL CRITICAL REQUIREMENTS Notifications New chat sound New message sound Chat ended sound Timers Timer must be visible on: Customer side Employee side Admin panel (optional) Chat Stability Rules Timer must never freeze No rerouting once chat starts Chat must end fully when either side ends it No auto-sending of images No delayed acceptance No inconsistent wallet deduction Model Context Awareness Employee must always see which model the incoming chat belongs to 12) TIMELINE AND SUPPORT Timeline: 45 days including development, testing, fixing issues, and uploading on the server Final delivery required within the timeline Support period: (fill your number of months) If any hosting or server issue occurs, the developer will communicate directly with GoDaddy. I will not interfere unless the matter is related to payment or GoDaddy documentation.