You are reading a single comment by @duncs and its replies.
Click here to read the full conversation.
-
The website is a very old version of Django (no longer supported, difficult to install)
I could probably put together a React version. SPA, client side rendering which interacts with the api directly
I’d started taking a look a few months ago, somewhat inspired by @cyclotron3k Android app
"the code":
Yes, the Python is that old... no it's not Python 3, no I don't know how to upgrade Django, if and when it needs surgery I would now do so on the production server... I don't know how to deploy any longer.
The Go code is where all the changes really happen, deploying that is a bash script that does an scp of the single binary.
Oh, and technical things.
There are 3 servers that do the majority of things:
To reduce costs it is actually just 3 main servers, but each slightly beefier than they need to be... I found this more cost efficient a few years back so turned off the others... but it's easy to clone to scale horizontally if ever needed
The servers make use of
iptables
to ensure that only they can talk to each other and that nothing else can talk to them.Then we use external services to run other things:
the servers all run Linux, some of it is old (the Django server runs an old Ubuntu from a decade ago), and some of it is new (the LB runs a modern Debian, the API a modern Ubuntu).
all work is done via the command line when needed... probably less than an hour per week.
if a team of technical people formed, I would teach them how it's organised and grant access, etc.