P2PMessenger is an asycnchronous and real-time messaging system. It also has an inbuilt support for user registeration and authentication.
- Python/Django
- DjangoRestFramework
- Channels
- PostgreSQL
- Redis
-
Run
docker compose build
to build the images for the project -
Run
docker compose up
to start the project; the api endpoint can be accessed athttp://127.0.0.1:8081
. -
To shutdown the project, run
docker compose down
All deployment script (yaml) are in the k8s/
folder. You can either apply them manually kubectl apply -f ...
or use the deploy.sh
helper script.
chmod +x ./deploy.sh
./deploy.sh
The deployment will create 3 (cache, db, web)
pods on the k8s cluster.
- The
web
cluster will have 3 replicasets of the backend service and 1 service with LoadBalancing capability. The service will expose port 8080 of the backend service over port 80. - Both cache and db pods will have one replicaset and a clusterIP service of respective container.
Endpoints are documented in POSTMAN and can be viewed here