tatsumaki-chat

command module
v0.0.0-...-a6cfd48 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2025 License: MIT Imports: 12 Imported by: 0

README ΒΆ

Tatsumaki Chat

A real-time chat application built with Go, featuring SSE communications, Redis pub/sub for realtime messaging and PostgreSQL for data persistence.

πŸš€ Features

  • User authentication with JWT tokens
  • Real-time messaging using Server-Sent Events (SSE)
  • Multi-user chat rooms with member management
  • Unread message tracking with real-time notifications
  • Message persistence with PostgreSQL
  • Redis pub/sub to track realtime events (new unread message, mark as read)

πŸ—οΈ Architecture

Tech Stack
  • Language: Go
  • Database: PostgreSQL
  • Pub-Sub: Redis
  • Real-time Communication: Server-Sent Events (SSE)
  • HTTP Router: Go's native net/http with http.ServeMux

πŸš€ Getting Started

Prerequisites
  • Go 1.23 or higher
  • Docker and Docker Compose
  • PostgreSQL (via Docker)
  • Redis (via Docker)
Environment Setup
  1. Clone the repository:
git clone https://github.com/PandaX185/tatsumaki-chat.git
cd tatsumaki-chat
  1. Create .env file:
DB_USER=
DB_PASS=
DB_HOST=
DB_NAME=
DB_SSLMODE=
PORT=
REDIS_URL=
  1. You can simply run:
make run-all

The server will start on http://localhost:8080

πŸ“ Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
domain

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL