Sign in

Programmer — Writer. @andyhartnett12

Recently I have been working on building MySpace From Scratch and sharing my journey here on Medium. At the very beginning of that series I went over setting up the environment for the project. I realized that a lot of people get overwhelmed when working with Docker so I wanted to write down a clear guide on how to get your Node project up and running with Docker in a manner of minutes.

Let’s Get Started — Installing Packages

Create a new folder for your new project and navigate to that folder in your terminal/command line. …


In the last part I talked about Authentication. Today we are going to go over some MySpace stuff, and I’d like to start with photo uploads.

Photo Uploads

The gist of how this is going to work is we are going to have a file input on the front end side, this will be passed to the API where the file will be stored in a public S3 bucket. After the image is saved we will store the file path in a photos array on the user schema. …


In this post we are going to cover Account Creation and Logging In.

Here are the basics:
- Someone creates a user by filling out a form that contains their email, name, and password
- The user is stored in a User model in Mongo
- When logging in the API checks the email / password against the Mongo DB and if a user is found it is returned back to the client.
- For security reasons we need to hash the password before it’s stored.

Creating the Account Creation Form

On the client side of the application, we need create a login page. On…


Let’s dive right in. First we need to setup our project folder. I’m going to follow a server / client pattern. So one folder for the project, with two sub folders inside, one for the API, one for the Client. Like so:

/myspace
/api
/client <-- this we will create with the Vue CLI

Getting the API up and running

To start we need to spin up a new node project. So I go to the api directory & npm init And walk through the steps. Nothing special, using all the defaults. Then I install express for my web framework: npm install express --save Mongoose for…


Maybe I’m old, maybe I’m nostalgic. But I woke up one day and had the thought, “I wonder how hard it would be to build myspace from scratch?” I’ve been a software developer for over 10 years now and built some fairly complex things. The more I thought about it, the more I realized, it wouldn’t be all that hard. And then I thought, why not share my journey in recreating myspace because I think it’s going to be entertaining for all of us. …


20 -> almost 30

I turn 30 tomorrow and I wanted to write something down. I didn’t know what I had to say, but I started writing anyway… this is what I came up with.

What I’d like to start with is that you often hear that “time goes by so fast” and one would think on the brink of the next decade I’d be asking myself “where did the time go?” But I’m not. As I think about it, this last decade has been incredibly long. I think of some incredible moments I’ve had during this time and some of the amazing memories…


I absolutely love writing with medium’s editor. That’s why I’m more likely to write a post here than on https://andyhartnett.com

So in order to break down barriers for myself in writing more often, I decided to build my own editor. There are other repo’s out there that are similar, but I wanted to build this for myself. (I enjoy building stuff)

I built this with Vue because it’s my favorite JS framework. I was able to prototype and ship an MVP of this in just over an hour. When I have ideas and want to prototype, I just vue create…


At 21 years old I made the decision to switch my major from Business to English Teaching. I loved writing, found joy in those classes, and frankly if I heard about widgets one more time in ECON 101 I was going to jump out of a window. Thus began my journey into teaching.

I always admired my teachers. Well, not all of them. But there were a few who were bonafide heroes to me. And those heroes taught creative writing.

Those heroes taught creative writing

My grandparents were both teachers. My grandfather was a basketball coach, and I played basketball…


Cover for “Zero to Developer”

Gumroad kicked off the 14 Day Product Challenge on Oct. 26th. And today (Nov. 3rd) I finished writing the first draft of my E-book: “Zero to Developer” a 62 page Ebook that takes you from not knowing anything about how the internet works to landing your first job as a Jr. Developer.

Why Zero to Developer?

I am one of those programmers who is entirely self taught. I learned html, css and javascript the night before the interview that landed me my first job in the development world. Learning Html changed my life! That job has led to an incredible career. But with all…


Photo by Artem Sapegin

The internet would have you believe differently. The level of complexity in building products these days is baffling.

What once was an HTML page with a simple database has been replaced with statically served SPAs stored on S3.

What used to be a PHP script that saved data to a SQL database has been replaced with serverless lambda functions spun up with AWS Amplify.

It would seem that a software developer starting today would need a full blown certificate in AWS or Azure to build a todo list.

And when you have built something, the gate keepers of the programming…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store