Application Structure

Here are the requirements of the application:

  • Retrieve top product data from the Product Hunt API;
  • Store this data in a local database;
  • Display the data from the database on a searchable interface for the best products.

The application will be based on three elements to meet these needs:

  • For retrieving, processing and storing data in a DB, we will implement a Worker using Python scripts and shell commands;
  • To select the data from the database, an API will be created within the application;
  • Finally, the display of the data will be done simply on a web Client.

The Worker and the API will be in the Backend of the application, while the Client will be in the Frontend of the application. To deploy all this, we will use the PERN Stack (PostgreSQL - Express - React - NodeJS).

Furthermore, in order to respect the DevOps methodology, the application must be containerized: in other words, the Worker (more precisely the Postgres DB), the API and the Client will all be containerized using Docker, and will work together between containers.

The application will look this way:

PERN Stack