What did you do this past week?
Last week, we finally got done with project #3. Although we didn’t completely check-off all the requirements for model relations, I think we got a pretty good site. I ended up going back and forth on one of my projects trying to solve a specific problem that I still haven’t resolved. Other than that, I did a lot of assignments for other classes, and this assignment will conclude my week.
What’s in your way?
What will you do next week?
We found a great open-source site that uses React, and it fulfills all the requirements for the next project in terms of pagination, filtering and sorting. As well as some navigation parts that we had trouble with last project. I will be looking into it to see what I can learn from it since I haven’t done React before this class.
What’s my experience of the class?
Great so far.
What’s my pick-of-the-week or tip-of-the-week?
For Project #3, we learned a lot of new things (especially when it comes to React and SQLAlchemy). Perhaps the most interesting thing for me was the discovery of an application called Watchtower. The idea of the application is simple: given a Docker host running a container from a remote image, Watchtower will poll the image repository for the latest version of the image and then update the container with the latest image. It will pull the latest image, stop the running container, remove the old container, and start the new container with the new Docker image. I found this to be a very powerful tool for automating the deployment process in our CI system. With this tool, combined with Travis CI, I never have to touch the servers again. I created two image repositories in Docker Hub for our project, https://hub.docker.com/r/janabimustafa/rldb-flask/, and https://hub.docker.com/r/janabimustafa/rldb-react/. Travis build process will build the images, tag them (dev or latest), and then push them. Watchtower will handle the rest. This way downtime is minimized and errors are prevented in our deployment process. What’s great is that Watchtower itself is a Docker image! Meaning you don’t even have to install anything besides Docker on your server.