Skip to content

andkret/weather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

weather-app

This is the repo of the Weather app from my YouTube video

Project structure

In this project you build a end-to-end pipeline from requesting weather data from an API to visualizing the results on a Dashboard. As tools we use the weather api, Docker, AWS Elastic container registry, AWS Lambda, AWS EventBridge and Grafana as the dashboard solution. Here's an overview of the pipeline: Project setup image

What to do in the right order

  • Create account on weatherapi.com and generate a token
  • Clone repository to local and replace the token
  • Setup the TDengine cloud database on tdengine.com
  • Create the weather database, stable and tables berlin and sanfrancisco
  • Install TDengine connector for python with pip install taospy
  • Run the code in your VSCode or other dev env and check TDengine if the data is there
  • Build the docker container docker build -f dockerfile-user -t weather-data .
  • If not done already install the AWS cli (see helpful links below)
  • Create a development user and role in IAM with full rights to ecr, create keys for that user
  • Do a aws configure and enter key and secret key
  • Create ECR, tag the image and push the image up to ECR (find the commands in ECR, top right corner)
  • Create Lambda that uses the image
  • Create EventBridge schedule that triggers the Lambda function
  • Pull the Grafana image from docker hub docker pull grafana/grafana
  • Start grafana with docker run --name=grafana -p 3000:3000 grafana/grafana
  • Go to localhost:3000 to access Grafana, connect the TDengine datasource and create yourself a Dashboard

Helpful links

More about TDengine

About

This is the repo of the Weather app from my YouTube video

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages