This is a project made during the internship. Repository functionality:
The user from the Django interface enters the SKU number, then the tags and photos of the product are displayed and inserted into the form, then the user has to download displayed images and upload them after which the user is allowed to generate a description by pressing a button that sends a query to the FastAPI container along with tags from the form and a photo in bit form. The FastAPI container then generates additional tags based on the provided photo using the AWS Recognition API, and then using the generated tags together with the provided tags, the final description is generated by the appropriate query to the OpenAI API and then the final description is returned to the Django interface. Furthermore, the cloth is saved as a record in a PostgreSQL database.
preview.mov
/staz/api_container:
- OPENAI_API (OpenAI key), LOCAL_HOME (path in local machine where the WSL is mounted e.g. "/run/desktop/mnt/host/c/Users/jszub" if you uses Windows)
- API_KEY_1, API_KEY_2, API_KEY_3 (API keys that can be used outside to communicate to FastAPI container)
/staz/my_tennis_club/members:
- FASTAPI_KEY (of the FastAPI's keys like e.g. value of API_KEY_1)
/staz/my_tennis_club/my_tennis_club
- POSTGRES_PASS (password to PostgreSQL container)
cd staz/my_tennis_clubdocker compose --env-file ../api_container/.env up -d --build
Furthermore, my_tennis_club-web-1 container, among others, on initial execution requires
python manage.py migrate
There are 3 main files that have a core role in the functionality of this software:
- File that among others communicates with GraphQL backend to receive the image tags and links of images that are stored in public AWS S3 Buckets
- File that among others generates additional tags based on the image and generates the description
- File that is responsible for the user interface (HTML template)