Making a Website

Creating my website was my first attempt at web development. The purpose for writing this blog post was to share my experiences of constructing my website, and to link some resources which I found helpful (and to also give credit to resources I've used).

I knew that HTML and CSS are fundamental skills in any web developer's repertoire, so that's where I started. I was immediately overwhelmed by the amount of resources available online for learning HTML and CSS; I found that for any questions which I may have had, I was able to find the answer on sites such as W3Schools and Stack Overflow. Later on, I learned Ruby on Rails in order to make dynamic web pages.

Initially I had just wanted to do a basic, one-page static website, to display my résumé and my contact information, however, as I learned more about web development, I was amazed at the versatility, and the capabilities of web development. I decided that I wanted to build the original one-page site which I had envisioned, but also construct other pages which allowed me to explore the depth of web development.

Blog Intro Page
The first page which I created was the introduction page to my blog. I knew I wanted to have a blog on my website, and I thought that I should create a landing page for my blog, which would explain the rationale behind the blog (to share my thoughts and ideas to the world). I worked with various jQuery and Javascript scripts, and I used various CSS modules. I learned how to animate elements, and how to incorporate responsive web design principles with media queries. I found that the tutorials by Drew Ryan were very helpful in learning advanced HTML/CSS development techniques, and I used royalty-free images from Pexels.

Timeline
The next page I worked on was my "About Me" page; I wanted the page to contain my contact information, as well as my résumé. I wanted to create a chronological representation of my life, so I decided to create a timeline. I found that the tutorials of George Martsoukos were tremendously helpful in teaching me about effective graphic design. The timeline is a static page at the moment, but when the opportunity arises, I may make the timeline dynamic.

Homepage
I constructed a homepage in order to connect all the pages together. My initial vision was to have space as the background, and the links be stars, however, the final product was too tacky, and I decided to go for something simpler instead. I followed WebSonick's code for a moving space background, and I followed a tutorial by Geoff Graham for how to make a typewriter effect for text.

Blog
I used Ruby on Rails to construct my blog; I really enjoyed working with the language, as there were many pre-made capabilities in the various gems. The syntax was very colloquial, and there were many tutorials on how to make blogs on RoR. I watched many videos by Traversy Media and Go Rails. I cheated and used the bootstrap gem to format the website, and I used the trix gem for text editing, as well as file uploading. I also added some basic authentication.

Very Short Reviews
I've always enjoyed films, especially the classics, so I wanted to make a website for me to review some of the films I've watched, however, I realized that I also enjoyed other forms of media, such as book. I decided to create a website for reviews on film & TV, books, games, and music. I found that tutorials by Mackenzie Child and DevTips were very helpful on how to format such a review site.

I purchased a domain name from Namecheap, and hosted my static web pages on GitHub Pages, and my dynamic pages on Heroku. Throughout the process of building my first website, I have learned so much about web development, but I know that I have barely scratched the surface of what can be accomplished with web development. In the future, I hope that I will have time to revamp and upgrade my website, using newer techniques, such as React.