It has been awhile since I developed anything for fun. This series will document the steps I have taken to get my own developments going. As the series title suggest, I will be referring to a lot of sources on the internet.
I have chosen to use my gaming machine as the host since there are more system resources available, and honestly I was not willing to subscribe to any IaaS providers. The machine is running on Windows 10.
As we all know, if we are going to be dealing with a lot of open source programs, then a Linux OS will probably be more efficient than my current Windows 10. I have chosen to use Ubuntu through a VM on VirtualBox. Why I chose this arrangement over dual boot? I prefer to watch Netflix on my host OS while I compile stuff on my development environment 😛
- Installing VirtualBox
This site provides clear instructions on installing VirtualBox and getting an Ubuntu image.
- Troubleshooting 64-bit VMs
A great forum post to help you access 64-bit VMs in case the settings are not readily available to you when you first start up VirtualBox.
- Copy and Paste Between Host and Guest
Make sure you can copy and paste into the VMs for convenience sake.
I recently got to know about Docker technology. Sounds like a good way to do development on any machines without worrying about dependencies.
- Install Docker on Ubuntu
To get started, install Docker on Ubuntu.
- Basic Tutorial for Docker
Run through the tutorial to be familiar with Docker. I stopped before signing up for Docker Hub as I felt that the lessons so far was sufficient for me to get on with development.
- Sample App built on Docker
Go one step further to build an app on Docker containers. Not a necessary step for setting up an environment, but certainly very helpful for a beginner like myself.
I am using node only as an example since there are plenty of resources available online to guide me. Purely a personal preference. The following guides will cover instructions to install node, along with other software installation, and tutorial that covers the basics of node application development.
- Node package
Good for a total newbie to understand how all node works, starting with package.json.
- Get started with node, express, mongo
Deploy the full stack quickly and build a simple webpage.
4. Putting it together
Now that I am able to build a simple full stack application, it is time to put all the knowledge together and make the application deployable everywhere.
- Docker development workflow
Helpful guide to learn how docker, docker compose, node, and mongo can all work together.