ItsMillerTime

Archives concerning all matters web development and beyond

From my Desk

Blog Post Default Image

Tech Stack

Published: 04/19/2019 | Time To Read:5mins

So I thought a good place to begin my new blog was on a topic that is pretty important to this website and its functions, the tech stack used, both hardware and software and services used.

Hardware

Beginning our journey from the bottom with hosting itself is AWS, more specifically an EC2 instance running a linux AMI. I could have gone with many other options for this but considering i'm already utilizing it for othr services I figured this was a great route to go.

Next up is NginX as a reverse proxy and to handle SSL for the site. I'm still considering switching this part out for a caddy server but I haven't had much luck in that department. Future possible article maybe? Anyways, the next piece of that being PM2 to manage the Node.js instace. Right now all updates are done manually but one of these days i'll figure out how to properly hook into github/travis-CI for auto-deployments.

I think thats about it for the hardware..... right?

Services

Ok going out of order from what I had planned but lets talk about services next as those aren't directly related to the programming aspect but they are a factor in it.

Github

Github, the defacto version control system and learning grounds for proper branch development, pull requests, issue tracking, you name it! All of my code for the website lives here, open to the world! Yikes right? Nah! See something wrong create an issue and I'll take a look into it. See something that I've handled very stupidly, submit a pull request! I don't mind.

Travis-CI

One of the things that I've wanted to do for some time is automate builds and run tests again them and Travis-CI fit the bill. While I'm by no means a pro i'm learning and expanding my knowledge of this tool daily and what it can do for me and my development cycle.

Codecov

Codecov offers a service thats new to me, checking coverage of my code to see where its weaknesses are in regards to testing. Still reading the docs and trying to wrap my head around testing, but hey thats part of the process!

Codacy

One of the great benefits of Codacy is of course the fact that it scans your entire Git repo searching for things like duplicated code, improper spacing etc all in an effort to help make you a better developer… If your willing to listen to it that is! While i'm early into the process of building my site I've looked at it but haven't done most of the things, as most are known things needing refactored, make sense? This one is more long term but I felt it important to put it in early.

Sentry

Speaking of errors though, Sentry is a bug tracking platform integrated into the app to help report to me when code breaks and let me know about it before users start complaining of any outages. I've seen a few errors so far but nothing major. Give it time, my code sucks, its bound to happen!

LogRocket

This one goes hand in hand with Sentry, but offers one really cool addition, session playback! LogRocket records everything the user has done to cause the error, and includes thing like application state, cookies session variables etc in an attempt to provide developer with more information yet on what went wrong. This is one cool tool!

Cloudinary

The last piece of this puzzle, or at least I think so is Cloudinary, a very powerful image/video hosting provider with a ton of really cool abilities for hosting and image manipulation to provide the best end user experience! I can't wait to dig in further on this one.

Software

At the core this website is built on top of Next.jS. One of the things that really drew me to this platform is the fact that I can ignore the webpack configs, the loaders, all the minute details that are just annoying to setup and get working together flawlessly to provide the best user experience. Instead I was able to just dig right into code and start making things show on the screen and know it just works. Zeit and the community at large have brought many cool tools to extend this even further, from service workers for offline support to authentication and even SEO!

With all the hotness around SEO, progressive web apps and the like this was a must for me and has been built in from the very beginning. Granted some of it still isn't quite to my liking but thats ok, This isn't meant to be a done deal and move on with my life, its meant to evolve and grow with me.

Well how are you managing content you might ask?

Simple. I'm using the best open-source headless CMS, Strapi. Strapi even its alpha stage has been a very powerful but simple to use CMS for me that gets out of the way to let me build a frontend as I please unlike what WordPress offers. With some of the cool plugins they've already got in place I can provide GraphQL (you best believe I'm using this hotness), and even REST API documentation, all without configuration on my end.

The really cool part though is that if you need to do something it doesn't provide out of the box you can very easily customize it behind the scenes. I'm just starting to scratch that itch with a few things that I need to address for content security, some things just aren't meant for everybody! Sorry not sorry!

Contact Me

Reach out today with any questions or concerns.

Follow Me

Be sure to see the latest and greatest

GithubLinkedInInstagramTwitterYouTube

Use of this site constitues acceptance of our Privacy Policy. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with prior written permission of Its Miller Time Dev.

Copyright © 2022v2.4.2