GitHub Projects

This tab contains some links to GitHub projects that I have done over the years. As well as a brief description of each project.

You can view all the public repositories in my GitHub by clicking here, or feel free to click the individual links for each project to go directly to them.

Website - Personal Website.
This is the repo for the website you are currently on. The ASP.NET Core MVC app is build on NET Core 8.0 using C# and Razor pages. This is my first, and so far, only website. The website is hosted in Azure using Azure Kubernetes Service (AKS) and Docker Containers. Website comes with relevant information about me, information about my coding projects, a privacy page regarding what information is collected, and a form you can fill out to send me an email and get in contact with me.
Link to the repo:
https://github.com/ckern-py/PersonalWebsite_CK
API - Personal Website API.
This repo contains an Azure API I created to help support this website. The API currently does two things, it tracks page visits and serves information to my website so that it can be displayed. Page visits are tracked and stored in a database so that I can gets stats over a long period of time. The API also serves information to my website, like the list of GitHub projects, so that it can easily be displayed. I plan to keep updating this API and add more functionality in the near future.
Link to the repo:
https://github.com/ckern-py/API_PersonalWebsite_CK
Docker - Google Drive Operations.
This repo contains a worker project that periodically uploads files for me to Google Drive. The worker is complete with a SQLite DB that stores records of what was uploaded and when. I put an MVC app on top of the worker service to display the most recent results to the user. The MVC App features a min page where you can get an overview of all the information, or you can get more information by going to the individual pages. This solution has been put into a docker container so that you can run it on your local docker stack.
Link to the repo:
https://github.com/ckern-py/Homeserver_GDrive
API - Monthly Data.
This repo contains an Azure API I created that will take in a list of data objects and write it to an Azure Database. The API has three controllers. CheckHealth, CheckHealthDB, and MonthlyDataUsage. The MonthlyDataUsage controller is the one that accepts requests and writes them to the Database. I have my Raspberry Pi set up to retrieve data from my router, aggregate the data, and then send a request to my API. The request coming in is a list of my internet usage statistics for that month. Each day in the month is its own object with info contained about that day within. Each day object contains what day of the month it was, what day of the week it was, how much internet data was received that day, and how much internet data was sent out that day.
Link to the repo:
https://github.com/ckern-py/API_MonthlyData
Function - Spotify Discover Weekly.
This repo contains an Azure function I created that will back up my Spotify Discover Weekly playlist. The function is set on a timer trigger that runs once a week. It is set to run at 2AM UTC every Sunday. Once kicked off the function interacts with the Spotify APIs to get and set data. The function starts off by getting all the playlists listed under my account. After that it finds the IDs for my Discover Weekly and Discover Last Weekly playlist. It then gets all the tracks from my Discover Weekly playlist and puts them in my Discover Last Weekly playlist by replacing what is currently there. By doing all of this I have one more week to go through my music and save off the songs that I enjoyed.
Link to the repo:
https://github.com/ckern-py/Function_SpotifyDiscoverWeekly
Function - Reddit Top Weekly.
This repo contains an Azure function I created that will submit a post to Reddit every 12 hours. It will also comment on the post it just created. The function is set on a timer trigger that runs twice a day. Once kicked off the function interacts with the Reddit APIs to get and set data. The function starts off by going to https://www.reddit.com/r/random and getting redirected to a random subreddit. Once on a random subreddit it sorts the posts and gets the top post of the week. A copy of this post is then submitted to a subreddit I have created specifically for the bot. Once the post is successfully submitted, a comment is then submitted on that post with some stats about the original. Stats such as how popular it was, where it came from, when it was created, and a link to the original post.
Link to the repo:
https://github.com/ckern-py/Function_RedditTopWeekly
Colin Scripts - Python.
Python was one of the first programming languages that I learned. I taught myself by going through some beginner books and doing a lot of reading on the official documentation for Python site. I still occasionally use python for some home projects, such as on my Raspberry Pi and personal computer. The Python folder is broken down in to three sub folders, IT Service Desk, Utility, and Raspberry Pi. Each containing relevant scripts.
Link to the repo:
https://github.com/ckern-py/ColinScripts/tree/main/Python
Colin Scripts - Powershell.
All my Powershell scripts also come from when I was working on the IT Service Desk. Most of the scrips here either interacted with the ITSTUtil.ahk or have a utility use. These scripts allowed the ITSDUtil to seamlessly interact with Active Directory. The ability to get account information and change account information all in one place saved time for all IT Service Desk agents.
Link to the repo:
https://github.com/ckern-py/ColinScripts/tree/main/Powershell
Colin Scripts - AutoHotKey.
All my AutoHotKey scripts come from when I was working on the IT Service Desk. The main script here is the ITSDUtil. A friend and I were able to build a toolbar for everyone on the IT Service Desk to use. This toolbar provided most of the information you regularly need, right at your fingertips. Everything from finding solutions to common problems, to unlocking accounts and changing passwords. Making all this information easily available helped to reduce call times and improve productivity across the IT Service Desk.
Link to the repo:
https://github.com/ckern-py/ColinScripts/tree/main/AutoHotKey
Console App - Backup Music.
This repo contains a console app I created that backs up my music files. Copying them from my main music directory into my backup music directory. The program will walk a source directory and a target directory. Then do a comparison between both directories to find any differences. After finding all the differences it will copy the files that don't exist in the target directory from the source directory so that both directories are matching.
Link to the repo:
https://github.com/ckern-py/BackupMusic
Console App - Converting Time.
This repo contains a console app I created that will help you convert time. You enter a number into the GUI, select the unit that you would like your input to be in, and then select the unit you would like the output to be in. When calculating you'll have two options. You can choose Calculate or Advanced Calculate. Calculate will return the answer as a decimal of the output unit. Advanced calculate will break down the answer into time units so you can see exactly how many hours, minutes, seconds, etc. it will be.
Link to the repo:
https://github.com/ckern-py/ConvertingTime