Skip to content

Real-time Chat Example ​

A real-time chat application using WebSockets.

Features ​

  • Real-time messaging
  • Multiple chat rooms
  • User presence indicators
  • Message history

Quick Start ​

bash
tavp new my-chat
cd my-chat
tavp migrate
tavp serve

Architecture ​

Browser ←→ WebSocket Server ←→ Database
   ↑                              ↑
   └──── TAVP App ────────────────┘

Routes ​

php
$router->get('/', [ChatController::class, 'index']);
$router->get('/rooms', [RoomController::class, 'index']);
$router->post('/rooms', [RoomController::class, 'store']);
$router->get('/rooms/{id}', [RoomController::class, 'show']);

WebSocket Server ​

php
// Use TAVP Weave for async WebSocket support
$app->bind('websocket', function () {
    return new WebSocketServer([
        'host' => '0.0.0.0',
        'port' => 9501,
    ]);
});

Learn More ​

Released under the MIT License.