webshop-design/Developer-documentation.md
2020-11-28 19:17:44 +01:00

1.3 KiB

Overview of the task

The task was to implement a security-critical webshop that can be used to sell and buy animated images stored in a custom format. The webshop has to support CAFF (CrySyS Animated File Format). The system consists of a web service and a mobile or web client.

Overview of the implementation

During the design phase, we decided to implement a web client.

Our implementation consists of the following modules:

  • CAFF previewer / caff-previewer: A program written in C that is used to extract a preview (a single frame) from a CAFF file. The extracted preview is saved in .tga (TARGA) format, which is a simple bitmap image format.
  • CAFF previewer wrapper / caff-previewer-wrapper: A wrapper written in Python/Flask that provides a simple HTTP interface between CAFF previewer and the web client. The wrapper also converts the extracted preview to PNG using ImageMagick.
  • Web client / webshop: A web client written in Python/Flask. This client implements the user functions.

Note: each module is hosted in its own repository.

CAFF previewer

CAFF previewer wrapper

Web client