First, the thesis describes non-fungible tokens and approaches to their advertisement.
Next, it presents the social network Discord and the advertisement approach on this
social network. It also explains the types of user accounts and channel types where
advertisement can take place. The presentation then moves on to the project itself,
which aims to create a framework for advertising on Discord, capable of operating
automatically without user intervention, responding appropriately to errors, logging
messages, and being configurable to function in multiple ways.
In the chapter related to the thesis’s project, the design and development of the project,
its documentation and automatic testing are all presented.
At the highest level, the framework is divided into a core and a graphical interface,
where the core can run continuously on a server and is capable of remotely processing
commands from the graphical interface. Advertisement data and parameters are set in
the core via a Python script or program, requiring minimal knowledge of the Python
language. The core is divided into several sectors to facilitate development and upgrades. The graphical interface is also implemented in Python. The development of the
graphical interface is described, its structure is explained, and remote access to the core
of the framework is discussed. Objects (accounts, messages, etc.) are defined in the
graphical interface through a new window, automatically generated based on data types
extracted from the source code of functions and classes in the core of the framework.
The defined objects can be saved into a JSON file, and Python advertisement scripts
that runs in the core of the framework can also be generated.
After describing the development and design of framework’s core and graphical interface, the documentation process is explained. The documentation is created using
the Sphinx system and is automatically built and published with each project releasethrough the GitHub platform. The description of all public classes and functions (the
program’s interface) is automatically generated from the project’s source code.
Finally, the chapter on the thesis’s project describes the process of automated testing
(unit testing), which is implemented using the pytest testing framework. Upon a pull
request on the GitHub platform, the framework is automatically tested, and the branch
merge is rejected if any of the tests fail. Automated testing reduces the chances of a
new version release being published with bugs being present.
In conclusion, the framework proves to be extremely useful not only for advertising
NFTs but also for advertising any other content. Considering that, at the time of writing,
there are almost no free advertising frameworks capable of what this framework can do,
it is reasonable to conclude that the project is of significant practical value.
|