www.pingshiuanchua.com Website

Building my portfolio, blog and super tools page using Django

20 Feb 2018

This project began as an attempt to place the machine learning tools I've built for Search Engine Marketing (SEM) usage online for my colleagues and the public to use. I asked a friend about what's the best way to host a Python-built tool online and I was told to learn Django.

As I started to learn Django, I began to realise that I should make this into a full-fledged website to build my personal brand.

 

Learning Django

Django Udemy Course

I've always worked with Wordpress whenever I want to build a website. I will just buy a domain, host it with Hostgator or 1and1, buy a template from Themeforest, install Wordpress, install the theme - DONE.

But I don't know PHP. So building a website with the power tools I've built on Python is almost impossible.

After comparing several alternatives to learning Django, I decided to learn it on Udemy as the course I've found also covers front-end development that is useful as a refresher to me.

I find that the course is very well organised and is very suitable for me, a visual learner, who is not very well-versed in coding. I've only started picking up Python 2-3 months prior to starting this course, while my knowledge of HTML + CSS mainly came from my university days, where I would learn from Codeacademy and W3schools in my free time (which is very limited).

Comparing to learning from YouTube, the organised, structured manner of this course allows for a deeper understanding of the inner workings of the code rather. That allows me to alter the codes easier after understanding the inner workings of Django.

 

A Constant Battle

A constant battle of front-end vs back-end

I came from a front-end background as I've worked on UX as an intern in 2359 Media, trained NUS students in Adobe Photoshop and Illustrator, worked on my personal website projects (e.g. What A Read) and learnt HTML + CSS as mentioned earlier.

Django is a website back-end system built on Python. Essentially, learning that has turned me into somewhat a full-stack web developer, a not very good one.

It's tough being a full-stack developer as there are multiple cases of my front-end brain saying "Hey, you need this because it's good for the UX" or "Hey, you need that because that is pretty!".

And my newly-born back-end brain will be saying "Oh no, I don't know how to do that. You sure that's good for the UX? How many people will notice that?" or "Pretty...? We need to get everything functional first! And will people really notice!?".

In the end, thanks to the magic of Stack Overflow and the wonderfully-documented Django documentation, I've solved at least 95% of the clashes with the outcome I want, while the remaining 5% is left as future plans.

 

The Toughest Project Yet

My Django feature list while building the website

This project is tough. There were many late nights that I've powered through just to be stuck and got the solution the next day or while trying to sleep. There were many compromises I've made due to my jack-of-all-trades, master-of-none predicament.

Success tastes better after enduring a difficult spell to get to it.

 

What I've Learnt & Future Plans

Believe in the genius within us all

That is not some random quote I plucked off the internet to randomly place on my homepage.

It is a motto, a mantra that I've carried throughout this long, lonely journey where the only person I can rely on is myself.

I always believe that the only thing limiting myself is myself, and unlocking that limitation unlocks many wondrous potentials. I wouldn't have imagined in the first half of 2017 that I would end the year working on a website from the ground up, building the back-end to the front-end.

I will continue populating the website with great content to spread knowledge to more people while providing some tools to help open up more time at your work, allowing you to leave early and spend time with your family.

"www.pingshiuanchua.com Website"

Project period:

Nov 2017 - Feb 2018

Project category:

Django, Python, HTML + CSS, Bootstrap, UI and UX Design

Share the love

blog comments powered by Disqus