Technologies used: Python, Docker (to containerize the application), Flask (for web application) , Redis (for message broker) , celery (running asynchronous task), postgres (for database), Linux, Gitpod (for running environment).
Make sure you have Python, Docker & Docker Compose installed, go to the directory containing the project and run below command (however, it's advised to use Gitpod for conveniency):
$ docker-compose up --build
N.B: The container will automatically install all required dependencies for you directly after running the above command.
You can access/use Gitpod platform via gitlab directly. More info on Gitpod click here. Gitpod is the easiest way to run this application. After opening the source code project in Gitpod, go to terminal and copy-paste below command to start the container:
$ docker-compose up --build
Open your browser to http://localhost:5004 to view the app or to http://localhost:5556 to view the Celery Flower dashboard.
Trigger a new task:
$ curl http://localhost:5004/tasks -H "Content-Type: application/json" --data '{"type": 0}'
Check the status:
$ curl http://localhost:5004/tasks/<TASK_ID>/
To watch the video Demo, you can watch/download from my dropbox account: Click here
To deploy this project on internet, I used below workflow via Digital Ocean:
Documentation on how to deploy this project using Digital Ocean: Here
To access the live application on internet, please follow below:
-Accessing website homepage, click here
-Accessing celery flower dashboard, click here
Isingizwe Didier Frank