Creating a Remote Currency Database: Harnessing the Potential of Docker and API Scraping

analysis
code
data wrangling
bash
docker
SQL
R
web scraping
data engineering
databases
Discover how I created a dynamic currency database in SQL, analyzed GDP growth in R, and uncovered the dollar’s recent strength.
Published

November 25, 2022

Join me on a journey as I delve into database creation, web scraping, and insightful analysis. In this project, I focused on currency exchange rates relative to USD and constructed a robust database by daily scraping from an API. Leveraging Docker containers on Railway.app, I established a remote database for seamless access and comprehensive analysis.

To enhance the database, I integrated GDP data by scraping and linking it with currency rates. Additionally, I sourced country names and the currency codes to establish meaningful connections. By importing historical data spanning from the time of GDP growth measurement to my initial API scrape, I gained deeper insights for analysis.


Relational database diagram for currency rate database.

Fig 1. - Entity relationship diagram for currency database. Primary keys and linking relationships are shown.

Within the SQL database, I engineered a dynamic View that automatically updated with average monthly currency rates. Equipped with these powerful resources, I conducted an in-depth analysis to identify the fastest growing economies of 2017. However, it’s crucial to acknowledge that the results were influenced by the recent strength of the dollar. Many currencies exhibited relative underperformance against USD, underscoring the robustness of the dollar in recent times. Notably, the Euro’s performance, often aligned with the dollar, further illuminated the strengthening trend.


Change in currency rates relative to USD since 2017.

Fig 2. - Exchange rates compared to USD for the fastest growing economies of 2017. The US dollar appears to perform well relative to other currencies.

The process of scraping, database creation, and analysis was both enjoyable and rewarding. As a passionate data engineer, I thrive on solving puzzles and ensuring data aligns perfectly with my objectives. I eagerly anticipate undertaking more data engineering projects, pushing boundaries, and uncovering new insights.

If you have compelling project ideas or wish to collaborate, please don’t hesitate to reach out to me. Let’s embark on captivating data-driven adventures together, unraveling new perspectives in the dynamic world of data engineering.