Skip to content

Integration and automation of data extraction and visualization from the Marvel API using Docker, InfluxDB, and Grafana for real-time analysis.

Notifications You must be signed in to change notification settings

pabmonrol/Marvel-API-Data-Integration-and-Visualization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marvel API Data Integration and Visualization

Introduction

This project focuses on the integration and automation of data extraction from the Marvel API using Docker, InfluxDB, and Grafana. The primary goal is to create a real-time data visualization system, leveraging the flexibility and capabilities of these tools.

Table of Contents

  1. Introduction
  2. Background
  3. Objectives
  4. Development and Analysis
  5. Visualization in Grafana
  6. Conclusions
  7. References

Background

To achieve this project, our group utilized the following tools:

  • APIs: For flexible and integrative data extraction.
  • Docker: To create consistent and reproducible development environments.
  • InfluxDB: A time-series database ideal for real-time data monitoring and analysis.
  • Grafana: An open-source tool for interactive data visualization and analysis.

Objectives

The objectives of this project are:

  • Extract data from the Marvel API using a Python script.
  • Store the obtained data in an InfluxDB database.
  • Visualize the stored data using Grafana.
  • Automate the entire process using Docker.

Development and Analysis

Automation with Docker

Docker ensures the portability and replicability of the environment by encapsulating the Python script, InfluxDB, and Grafana in independent containers, facilitating orchestration and deployment.

Data Extraction

The Python script performs HTTP requests to the Marvel API, processes the responses, and formats the data for storage in InfluxDB. Error handling and pagination are also managed within the script.

Storage in InfluxDB

InfluxDB is used to store the extracted data. The script connects to InfluxDB, creates the necessary database, and inserts the formatted data into it.

Integration with Grafana

Grafana is configured to use InfluxDB as a data source, allowing the creation of interactive dashboards for real-time data analysis and monitoring.

Visualization in Grafana

Dashboard Creation

Interactive dashboards are designed to display various graphs obtained from the Marvel API data.

Graph 1: Number of New Characters per Year

This graph shows the number of new characters introduced in Marvel comics over the years.

Graph 2: Comics Published in 2024 by Writers

This graph displays the number of comics published by various writers in 2024.

Graph 3: Number of Characters in Important Events

This graph illustrates the number of characters appearing in significant Marvel events.

Graph 4: Available Comics of a List of Characters

This graph shows the number of comics available for a selected list of characters.

Conclusions

We have developed a system capable of extracting, storing, and visualizing data from the Marvel API in an automated manner using Docker, InfluxDB, and Grafana. Future improvements could include additional Python script functionalities and new data visualizations in Grafana.

References

About

Integration and automation of data extraction and visualization from the Marvel API using Docker, InfluxDB, and Grafana for real-time analysis.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages