Day 3 (Sunday) [KOA2 API implementation continued]
Running into a deployment issue. There are seem to be a way too many npm dependencies for the micro instance to handle. As a solution trying to commit them into git -- that's not very elegant but hopefully works. As an alternative option, may consider switching the prod env to yarn -- I've read somewhere that it's possible with Elastic Beanstack.
Adding npm's to git didn't help, it's now failing with some permissions error. Let's investigate the yarn path.
Found some links on the web with example yarn.config file -- still failed. Over all, this solution tends to be a lot more complicated than I like it to be.
Last resort -- bigger instance.
Side Note: It amazes me, how much effort we put into trying to save few dollars on hardware here and there, completely forgetting that the most valuable resource is our time. I wasted 3 hours, which easily converts into hundreds of dollars (depending on how much you value your time). And the solution was to spend $10 extra per month on bigger instance -- dah.
Finally, the API is deployed, the DNS/SSL is properly configured:
Next, stubbing out the test methods for a) getting images feed based on distance, b) getting an image by id for detailed view, c) deleting an image by id.
Apparently, it's not that easy to findAll by distance from a particular point, will have to spend more time on this.
Finally, 7 tests pass, image create, retrieve the feed sorted by distance (exclude the full image data from results for performance reasons), retrieve a detailed image by id, delete image, everything deploys to Elastic BeanStalk. Good progress today. Considering that I have gazillions errands to run around the house as well and only able to spend half my available time on this project -- I'm very happy about the pace the project is moving at.
Side Note: The most difficult thing was to implement the very first method, but given that the number of methods keeps growing -- definitely a huge benefit to doing it the right way with automated testing. Everything is moving along super smoothly now, I can not imaging having to get the iOS (or Android) UI built without the backend methods reliably working first.