DEV Community

Kevan Y
Kevan Y

Posted on

New knowledge

This week I have been reading a lot of documentation. I got involved in Docker, Supabase, Renovate bot, Turborepo, Traefik, Nginx, and React-Native.

Docker

This week I have been learning a lot about Docker. I watched a quick intro into docker.

I started to do the small tutorial of docker by following the get-started of Docker.
Docker is a bit hard to learn, but it is just a matter of time. Once I get to use more and practice more, it will eventually become easier. The next step would be to learn Kubernetes.
Some of the issue I'm working that related to Docker

Issue - 2745 was my first issue with Docker stuff. I was looking at some documentation about how to install pnpm into the docker containers. I end up with this. I tried the solution followed the snippet code, but it wasn't working. Also, it is an experimental command which means it might have some breaking change in the non-major version. So I used the simple and basic solution RUN npm i -g pnpm. This would install pnpm into the global node_modules package.
To test if the container was built and working I ran pnpm services:start. Later on, working on Issue - 2803 I discovered I could start only 1 microservices instead of all of them by doing pnpm services:start image to start image microservice.

Supabase

Supabase is an open sources database. It's based on PostgreSQL, and adds more features to it.
We can say it can be an alternative to Firebase.
Read more
I watched a good quick intro about it.

Renovate Bot

Turborepo

Turborepo is a tool to manage repo. This is an amazing tool. It can cache things and only rerun stuff that changed in the code. Which makes the running process fast. It is a super useful and powerful tool for monorepo.
Read more
Also here is a good video of what tool on average used for monorepo.

Traefik / Nginx

Feb 04 meeting I learned more about Traefik / Nginx. Nginx is a tool to reroute/ load balance, but since it doesn't know about Docker exposed port, we need to use Traefik that communicates with Nginx and Docker.

Basically 
User > Nginx > Traefik > Docker
Enter fullscreen mode Exit fullscreen mode

Why use Traefik / Nginx, is because we don't want to expose ports into the web, it would be bad for security, everyone in the world would try to hack into the system.
Issue - 2791 - This issue I think I'm gonna tackle since it would be a good learning touch Traefik / Nginx and also Docker.

React-Native

I recently read about a blog post of how to deploy a react native to IOS and Android. This would be useful for later on when telescope will be needed to be published into Play store and App store.
Based on the blog contains, it seems pretty simple to build and publish React-native app.
expo build is the command to build and expo upload:{andoid/ios} to publish.
But before that, we need to config App.json which defines our app name, icon, splash, and other configs for different systems.
Issue - 2760 - I referred to this documentation to complete this task.
Finale result what it would looks like:
Image description

Top comments (0)