I recently completed the Udacity Full Stack JavaScript Developer nanodegree. It was quite a challenge. Of the four course projects, the last three were linked:
- A Postgres database and accompanying API, built as a node/express app
- A front end website built in Angular, with NGRX to manage state and inter-module messaging
- A configuration to automatically build and deploy all parts of the app to AWS
Together, these three made up a cloud-based online store app.
You might be forgiven for thinking, as I did initially, that the hardest part of this exercise would be creating the two parts of the app and that the deployment at the end would be straightforward.
Actually the opposite turned out to be true. Apart from learning how to use NGRX, the app development was relatively straightforward. What caused me most pain was learning how to use Amazon Web Services (AWS).
AWS presents new users with a wall of confusing options, many of which are not at all intuitive until you have invested some time in understanding them. AWS services are a very powerful tool though, and this is the trade off. Even when you have figured out what service you should be using for each part of your app, configuring it correctly is another matter entirely. I spent many frustrating hours trying to work out why different parts of the app couldn’t communicate, or why end users couldn’t reach the parts of the app they were supposed to.
Once I’d got the AWS side of things figured out, the next hurdle was learning how to configure the project correctly to use automated deployment in circleci. Again there was a bit of a learning curve here and a few false starts.
But I’m pleased to say, after much effort and more than a little bit of wailing and gnashing of teeth, it finally all clicked into place, and it is immensely satisfying to see your app automatically built and deployed to the cloud when you push a commit.
I don’t maintain a live version of the app because of the expense of running the services continually in AWS, but you can watch this technical video to see how the automated deployment and the app works.
Be First to Comment