Introducing HaPhanTran.com version 2.0
The story about how I learned and built this website
When I bought this domain
I bought the domain haphantran.com since Mar 2018. I tried to use Jekyll (Ruby on Rails) Github Pages to build the site, but I was not satisfied with the results. I've could easily use Wordpress to make the site, but it's old technology, and I want to use and learn about new kinds of stuff.
Why I didn't use Wordpress
For a developer with a data science background, it would be a lot easier if I build my own website using Theme from Wordpress. I would only have to write content, and didn't have to care about the technology behind. But I like to learn, like to be in struggle when solving problem, so I decided to pick a hard path, build it my self At that time, I noticed the React JS library with a lot of great things: high performance, safety, and scalability. I want to build my site with React. I was busy with co-op term and schools, and some certification exams in my strong field (data analytics, data science) and haven't caught up with ReactJS yet. I started to study React in late 2019.
How I started with React
While learning React, I created some projects and read more about the ecosystem. I heard about Gatsby, a static site generator help to build blazing fast websites and apps, using a tons of new technologies: React, GraphQL, JamStack... I built the first version of this website from scracth, build every elements in the page, how the top navigation bar should change to side bar when user's device have smaller screen... I'm not very good at CSS but try to do everything my self. Result is a simple, clean, fast and functional website. This is the website when opened in big screen: This is the website when opened in small screen (mobile). Notice how the top navigation bar change to a button on the top left. I built it using the material UI react component: How about this version Even through the website is funcitonal and serve the purpose, I still want to make it look pretier. I recently have the chance to check out a course and will rebuilt it using the instructor template. He took care of everything CSS, I will only have to care about the logic, which I'm very comfortable to do. The new website will still use Gatsby and GraphQL, but the backend will be backed by Strapi and mongoDB on AWS.