A comprehensive real-time chat application inspired by WhatsApp with the following features:
├── backend/
│ ├── index.ts # Main Hono server
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ └── routes/
│ ├── auth.ts # Authentication routes
│ ├── chat.ts # Chat operations
│ ├── contacts.ts # Contact management
│ └── groups.ts # Group management
├── frontend/
│ ├── index.html # Main HTML template
│ ├── index.tsx # React app entry point
│ ├── components/
│ │ ├── App.tsx # Main app component
│ │ ├── ChatTabs.tsx # Tab navigation
│ │ ├── ChatList.tsx # Chat list view
│ │ ├── ChatWindow.tsx # Individual chat window
│ │ ├── GroupChat.tsx # Group chat component
│ │ ├── ChatRoom.tsx # Challenge chat room
│ │ └── Settings.tsx # User settings
│ └── style.css # Custom styles
└── shared/
└── types.ts # Shared TypeScript types
The app will be available at the HTTP endpoint once deployed. Users can:
GET /
- Serve the main applicationPOST /api/auth/login
- User authenticationPOST /api/auth/register
- User registrationGET /api/contacts
- Get user contactsPOST /api/contacts
- Add new contactGET /api/chats
- Get user chatsPOST /api/chats/send
- Send messageGET /api/groups
- Get user groupsPOST /api/groups
- Create new groupGET /api/chatroom
- Get chat room messagesPOST /api/chatroom
- Post to chat roomWS /ws
- WebSocket for real-time updates