jdeko.me
jdeko.me source code
jdeko.me/bball
about jdeko.me/bball
jdetok on github
linkedin

about jdeko.me

created & maintained by Justin DeKock
/-|-\
jdeko.me is almost entirely self hosted - every aspect of this website (with the exception of ssl encryption, which is provided by cloudflare) is served from a raspberry pi 5 single-board-computer in my home office! this particular raspberry pi 5 has a 4-core CPU & 16GB of RAM, which is more than enough to handle any traffic this site receives

-- technologies used --

go programming langauge

the jdeko.me backend is written entirely in the go programming language. i mainly chose to write the backend in go to take advantage of the concurrency features that make the standard net/http library so powerful. i paid for all four cpu cores, i want to utilze all four!

postgres database

a postgres database serves jdeko.me/bball - the basketball stats site that uses the jdeko.me api. the data in this database is sourced from nba.com with a command-line-interface i wrote in go - bball-etl-cli
learn more about jdeko.me/bball

docker

each software element that supports this website has been containerized with docker, allowing them to all run independently on the same host machine. docker networks provide an additional level of isolation, which allows me to host the apache web-server & postgres database on separate networks. i used dockerfile to create custom docker images and docker compose to enable starting & stopping each environment with a single command

apache web server

a containerized apache web server is used as a reverse-proxy to provide another security layer from the external internet. this web server declines any invalid requests, forwards any http request to https, & then forwards valid https requests to the jdeko.me api

javascript

javascript powers the frontend of jdeko.me/bball. all interactions with any of the buttons/selectors/text-boxes on this page are handled with javascript event handlers that call endpoints from my API

html/css

all visual elements of this website are written in pure html & css. i've always preferred clean and to-the-point websites, and i miss the more simplistic look of the internet of my youth