Edited on May 5, 2020
My site is no longer built as this post describes.
I've redesigned and rebuilt it using GatsbyJS. You can read about why I killed my old site and my experience with rebuilding it, but if you'd like, you can continue reading the original post below.
My obligatory "Hello World" post!
I built this site from the ground up as an exercise in learning full stack development and exploring current web technologies. I studied Electrical Engineering in school, and although I currently work as a Software Engineer, I haven’t had much exposure to developing software for the web until I stumbled upon Colt Steele’s “Web Developer Bootcamp” course on sale at Udemy.
This course provided many mini-projects and was a solid introduction to many topics, such as:
- An overview of the HTTP protocol
- HTML, CSS, & client-side JavaScript
- Using Node.js and developing server-side JavaScript
- Developing web applications with the Express server framework
- The Bootstrap library
- MongoDB
I’ve always wanted my own personal corner on the internet where I could write and post photos, so I bought this domain and started to build my site once I completed most of the course.
At the time of writing this post, my web application is built with the technologies I learned in the course (NodeJS, Express, Bootstrap, & MongoDB), and I deployed everything to a Google Cloud Compute Engine instance. Here are some of the features that I’ve created so far:
- Storing information about posts and photos (eg: tags & captions/short text) in a MongoDB database (running on a free mLab database server) and using Mongoose to query the database.
- An admin console to manage posts and photos.
- Using a WYSIWYG editor to easily add style to my posts from the admin console.
Here are some screenshots of both the public facing site and the admin console:
Public Facing Site
The Admin Console
I think this project was a good first step, but I have more ideas that I hope to implement in the future. I'll need to look into Let's Encrypt to enable HTTPS, and I'll also want to figure out a better method of processing and handling images. There's still a lot more that I hope to add to this project. Whenever I get around to exploring these ideas, I’ll make sure to write more about them. Thanks for stopping by!