System Architecture - PythonBulawayo/ChitChat GitHub Wiki
System Architecture

Containers
- Containerise each service. We'll use Docker for this project and Portainer to manage containers
- At least one container each for the following:
- Web front-end
- API backend
- Database?(TBD)
- Web server
- Using containers offers us the ability to move the application easily if we ever need to.
Database
Backend
- Django/Django RestFramework
- Celery
- RabbitMQ
- Redis
Firewall
Configuration Management
CI/CD