Follow our tutorial to get a better hang of developing QGIS plugins in QGIS v3.x. The resulting plugin will be capable of querying Nominatim's Reverse Geocoding API from user generated Lat/Long or X/Y in arbitrary coordinate systems and parse the API result into a QGIS Point layer.
This post provides a basic reference guide for plugin development in QGIS v3. It describes the most important concepts around QGIS plugins, which a developer should be aware of, such as mandatory methods expected by QGIS, detailed explanation of the output of Plugin Builder 3 and more.
A short roundup of Qt Designer, which ships with QGIS and is the recommended program to design Graphical User Interfaces for QGIS Plugins. This post is complementary to our plugin tutorials or just a refresher. It also explains resources.qrc files in more detail, a usual pain point.