f3acf878aa0cdd01a40f45b30c68013d56055740
discoursio-core
- sqlalchemy
- redis
- ariadne
- starlette
- uvicorn
Local development
Install deps first
on osx
brew install redis nginx postgres
brew services start redis
on debian/ubuntu
apt install redis nginx
Then run nginx, redis and API server
mkdir .venv
python3.12 -m venv .venv
poetry env use .venv/bin/python3.12
poetry update
poetry granian --no-ws --host 0.0.0.0 --port 8000 --interface asgi main:app
Services
Auth
Setup WEBHOOK_SECRET env var, webhook payload on /new-author is expected when User is created. In front-end put the header 'Authorization' with token from signIn query or registerUser mutation.
Viewed
Set GOOGLE_ANALYTICS_TOKEN var to collect stats
Seacrh
ElasticSearch
Notifications
Connected using Redis PubSub channels
Inbox
To get unread counter raw redis query to Inbox's data is used
Following Manager
Internal service with async access to storage
Languages
Python
74.6%
TypeScript
19.2%
CSS
6.1%