Making This Website

My django website on a laptop screen

Over the past couple of years I have been learning how to code with Python. For the most part that has consisted of using Jupyter Notebook to run a few scripts that help me complete some tasks associated with my job in SEO. I had always wanted to learn more about website development and had heard that Python frameworks such as the one used to built this website: Django, was a good option. So about mid 2022, when I had a few days annual leave I began work on creating this website.

The early learning phase

The beginning was pretty tough, learning concepts that were alien to me. Despite having a decent grasp on the Python programming language, the way in which pieces fit together was pretty new. However, after following along to a range of online tutorial projects I was ready to begin working on my own website. The issue is... I didn't know what my website would look like.

Now having dabbled a bit with websites before, I wanted to avoid the main mistake I had previously made. This was: trying to design and build a website at the same time.

So another learning phase began. This being: learning design programmes like Figma and trying to make something look actually nice.

Because I am pretty amatuer at graphic design my main aim with this website was to keep it simple. So as you can now see, it is pretty simple - we have a few coloured squares, black and white alternating text and background sections and a cool sliding posts section.

Filling in the gaps

Pretty quick I had gotten the website pretty close to where I wanted it. However, at this point there was still a long list of tedious tasks I needed to complete before I had a version that would be partly functional to release. Over the next few months I would make marginal progress, with it always being in the back of my mind that: "Yes, I will certainly have it completed before the new year" ... I didn't.

But, come January 2023 I found a new drive to make some solid progress to this website. As I am writing this I can barely actually remember all the little bits that I did, but there was a significant amount of little tedious parts to complete.

Towards the end I mainly had the cookie consent banner, form functionality and tracking to complete.

This posed another problem. Aside from the small amounts of JavaScript I had copy and pasted from the internet and that lovely slider framework I used, I pretty much had no knowledge of how to write JavaScript.

This began my next learning phase: JavaScript. So I began learning bits about JavaScript. While I would say that this is still my weakest coding language, out of my already pretty low-grade programming skills, now JavaScript at least doesn't give me the same anxiety it use to give me.

So finally after stupidly deciding to set up my form tracking after enabling recaptcha and fearing I may actually be a robot due to the number of times I failed the validation test, I was ready to launch.

The final stretch

So here I am writing this blog post to be used as my first article on the website once it is launched. I still have a mildly unsettling push to production, in which I am sure I will make a lot of poor decisions in terms of the platforms, providers and plans to use for hosting. But alas, at least once this website is live I can awkwardly try to keep it's existence a secret. Though, I will have somewhere to write some thoughts down and to continue to experiment with website development.

Deployment

Now came the part where I had to deploy my website. This was a tricky part for me, mainly because this is the point in which I had the least experience. While following along with tutorials, I tended not to follow any deployment bits, as I was unsure what platform I was ultimately going to use and wanted to make sure I wouldn't waste any free trials given. In the end I decided to use AWS s3 buckets for my images hosting and Railway to host my website files and database. The Railway deployment was simple in principal as the interface is very easy to use. However, trying to rush through it, I kept missing pretty vital parts that crashed the deployment. But within the day I was able to have a production version of the website live and viewable to the public.

For those of you, who (for some reason) have read this whole article to this point, I thank you. Should you visit my website again, I hope you find some benefit from the content I write, which if uncovered would aid my drive to producing more content in the future.

All the best,

Kegan