100 days challenge log
Placeholder to takes notes about the project progress. A more descriptive format will be produced on a different platform (or not).
Day 0 3rd of June 2019
- Discovery of https://labs.strava.com
- Visit of the Kodo project lab
- Register API client and test of the activities endpoint.
Day 1
- Creation of the github repository (logs and wiki)
- Oauth2 Flow identification to get data for activities
Day 2
- Data collection for activities
- Heatmap lookup
Day 3
- Setup Angular 8 white app with angular cli
- Setup Highchart
Day 4
- Creation of a Data Service with data snapshot
- Creation of a Pie visualization of runs week days
Day 5
- Create an Azure App Service plan on Windows / node 10.0
- Install nvm to manage node version locally
- Deploy a web app to Azure App Service from Visual studio code with the azure app service extension http://remstrava.azurewebsites.net
Day 6
- Create of an Azure Function exposed as API to hold data https://stravaactivities.azurewebsites.net/api/ActivitiesSample
- Add Cors to the function response headers
- Subscribe to the API from the front-end and retrieves data into the highchart
- Create a blog on https://dev.to/remster85. See the first article
Day 7
- Create an azure logic app to frequently retrieve data from the strava api using the refresh token and store it into an azure blob storage
Day 8
- Enhance the logic app to retrieve multiple activities pages using the until bloc.
- Retrieve the multiple blob storage files from the azure storage container and exposes it as API using DotNet.
Day 9
- Import bootstrap for the front end
- Use app settings from azure to remove secret from source code
Day 10
- Add Activities Per Hour Bar visualisation
- Homepage Data visualization management
Day 11
- Add Chatbot Azure Bot Service
Day 12
- Chatbot : Get Mileage
Day 13
- Setup new laptop (asus zenbook)
Day 14
- Add Activities Detail View for PieChart and BarChart with links to Strava Activities
Day 15
- Bot Integration Facebook Messenger (did not work)
Day 16
- Bot Integration Slack (worked 👍 )
Day 17
- Remstrava Running Reminder Bot
Day 18
- Remstrava Running Reminder Bot on AWS Lambda
- Bot Triggered every morning from AWS CloudWatch
Day 19
- Fixed the platform
Day 20
- Dockerize front end
- Creation of container registry on azure
- Push Local image to azure container registry using Azure Cli
Day 21
- Create Kubernetes Cluster on AKS
- Deploy Front End Azure image to AKS With DNS http://remstrava.westus.cloudapp.azure.com
Day 22
- Create new repository https://github.com/remster85/remstrava-frontend
- Configure Azure pipeline for the front-end
Day 23
Day 24
- Configure SSL on http://remstrava.westus.cloudapp.azure.com
Day 25
- Configure Webhook Strava
- Setup Azure Event Hub to capture strava events
- Logic app refresh activities triggers from Azure Event Hub instead of daily timer
Day 26
- Create new repository https://github.com/remster85/remstrava-backend
- Configure Azure pipeline for the api activities
Day 27
- Configure Azure pipeline for the api remstrava webhook to get notified from new activities
Day 28
Day 29
- Investigation and Maintenance
- Root cause deletion of azure function by mistake
- Redeploy Azure Function from Azure pipeline
- Check Strava Webhook
Need an architecture schema to understand the app
Day 30
- Reconfigure remstrava frontend to be accessible externally (the registry container defined in azure pipeline was not correct)
- Define Load Balancer
- Apply DNS Label to the public IP address
Day 31
- Fix remstrava webhook
Day 32
- Architecture schema
Day 33 27th of Nov 2022
- Fix remstrava activities api
Other
-
Monitor your servers by collecting metrics from the system and services running on the server #ops https://www.elastic.co/guide/en/beats/metricbeat/6.8/view-kibana-dashboards.html
-
Amend uvicorn to enable to pass a password to decrypt ssl key
https://github.com/encode/uvicorn/pull/776 -
Amend uvicorn documentation https://github.com/encode/uvicorn/pull/839