Realtime messaging server implemented with Python/FastAPI and Socket.IO.
This repository handles the specific server implementation. Please refer to the parent repository Luminode for the overall documentation.
- connection → receiver(send): Receive messages/events from the client
- receiver → model(call): Call the operation (validation/permission check)
- model → sender(event call): Realtime notification of database operations
- receiver → sender(event): Realtime processing without going through the database
- sender → connection(send): Broadcast to the target connection/room
Events in Socket.IO is used to send messages. Please refer to Message Events List for the specification of each event.
The database is MongoDB, and the ODM is Beanie. Please refer to Database Schema List for the schema of the database.
pip install -r requirements.txt
uvicorn src.app:app_socketio --reload
It is not recommended to run this server alone in a production environment. Please refer to Luminode for usage.
- 🇯🇵 日本語版はこちらを参照してください。
Please refer to Technical Document for technical details and setup instructions.