- PostgresQL (in prod only)
- Django-Q + Redis for scheduling async tasks.
Channel layer for websocket communication.- Using a self-hosted instance of PeerJS (located in
apps/peer) for video calling. - Using Stream-Chat for chat (for now; will migrate to self-hosted Rocket.chat instance)
- Using a self-hosted instance of PeerJS (located in
Using Black to format the code. Spaces not tabs.
Feel free to add tests. We do not do unit tests. Integration testing is an open issue so you could start with that.
pyenv install 3.10.6pyenv shell 3.10.6poetry env use python3.10poetry shellpoetry installpython manage.py migratepython manage.py runserver
If something is broken about this Gitpod setup, fix it and make a PR.
You have 3 options to run the server locally (ones that the repo is tailored for);
- Poetry+Pyenv (I like this the most)
- setup similar to gitpod setup mentioned above.
- Nixpacks + Docker (Fastest)
- Install using
brew install railwayapp/tap/nixpacks. cd apps/servernixpacks build ./ --name devcladdocker run -it -p 127.0.0.1:8000:8000/tcp devclad; go to port8000onlocalhost.- Dockerfile + Docker compose
For all these options, make sure your .env file is updated.