In this project we implement an ad registration service, using cloud services for implementing database, object storage, object detection, and mail sending.
This project is for 'Cloud Computing' course in university and the purpose of this exercise is to get to know and work with cloud service.
APIs implemented by:
- FastAPI
The services used in this project are:
- DBaaS: Postgres provided by Liara
- Object storage (S3): Provided by Parspack
- RabbitMQ: Provided by CloudAMQ
- Image processing (object detection): Provided by Imagga
- Mailing: Provided by Mailgun
This project consict of two services:
- The first service contains API for communicating with user (get input or show the final result) and forward user requests to queue.
- The second service check the RabbitMQ queue and process the new input image and return the final result to fisrt image
- install requirements
pip install -r service-1/requirements.txt
if you want to run each service on different VM run the following on the VM for second servise, too.
pip install -r service-1/requirements.txt
- run services
python service-1/src/main.py
pyhton service-2/src/main.py
-
use it!
open browser and go to http://localhost:8000/#docs/