Skip to content

Grigory

Django CI Docker Image Version (latest semver) Docker Image Size (latest semver) Docker Pulls

Grigory is backend for notification service, real-time chats and microservices communication.
You don't need to implement all the logic for chats and notifications from scratch.
It's built on top of Django and Django Channels.
It's designed to be used as a microservice in a microservice architecture, but can be used as a standalone service as well.
It provides both REST API and WebSockets for clients and microservices.

If you find this project useful, please consider giving it a star ⭐️

Who was this project made for?

Everybody who wants to implement chat and notifications in their project.
For example, frontend developers who needs chat and/or notifications functionality.


How it works

screenshot

  1. Any microservice or client just sends some message via REST API or WebSockets with the indication of the chat it belongs to. If message was sent to another user, the chat will be created automatically after the first message.
  2. This message first goes to queue to avoid overloading the database.
  3. Then it's processed by the worker and saved to the database.
  4. After that, the message is sent to real-time chat via WebSockets.

Message history can be retrieved via REST API or WebSockets.

If you find this project useful, please consider giving it a star ⭐️

Demo

Grigory needs some pretty demo site. But I'm bad at frontend, so if you want to help, please contact me at rustam@astafeev.dev.

demo

You can try the demo at https://grigory-demo.anttek.io.
To test it, open 2 tabs in your browser and login as 2 different users.
Then you can send messages between them.

There are 2 users in the demo: demo-1 and demo-2.
They have same password: demo-123.

API is available at https://grigory-demo.anttek.io/api.
WebSockets are available at wss://grigory-demo.anttek.io/ws.