Snapp Chat is a real-time chatroom application built using Go (version 1.22.0). It leverages NATS JetStream for messaging and PostgreSQL for data storage. The project consists of a client and server, allowing users to communicate seamlessly in a chatroom environment.
- Real-time messaging using NATS JetStream
- Persistent message storage with Jetstream storage
- Chat history
- Client-server architecture
- Easy to set up and run using Docker Compose
- Go 1.22.0
- NATS JetStream
- PostgreSQL
- Docker & Docker Compose
- Fill the
config.jsonfiles for both client and server. You can check the samples in each directory. - Download the client from releases page
- Run the server using
docker-compose -f server-docker-compose.yml upin the project directory - You can also download a NATs server and run
nats-server-c nats-server.conf& then run the binary version of the server in the releases page. Make sure you have your Postgresql database set.
#usersshows the online user count inside a room#leavelets you leave from the current room