Skip to content

tsuten/Luminode-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Luminode Chat Server

Realtime Messaging Server

Realtime messaging server implemented with Python/FastAPI and Socket.IO.

⚙️ About this repository

This repository handles the specific server implementation. Please refer to the parent repository Luminode for the overall documentation.

Specification

✨ Data Processing Flow

Specification

  1. connection → receiver(send): Receive messages/events from the client
  2. receiver → model(call): Call the operation (validation/permission check)
  3. model → sender(event call): Realtime notification of database operations
  4. receiver → sender(event): Realtime processing without going through the database
  5. sender → connection(send): Broadcast to the target connection/room

Message Sending

Events in Socket.IO is used to send messages. Please refer to Message Events List for the specification of each event.

Database

The database is MongoDB, and the ODM is Beanie. Please refer to Database Schema List for the schema of the database.

How to use?

Development

pip install -r requirements.txt
uvicorn src.app:app_socketio --reload

Production

It is not recommended to run this server alone in a production environment. Please refer to Luminode for usage.

README in other languages

  • 🇯🇵 日本語版はこちらを参照してください。

Please refer to Technical Document for technical details and setup instructions.

About

Python implementation of Luminode. Parent repository ->

Resources

Stars

Watchers

Forks

Languages