teleren/devto huggingface dataset:
How to setup a Cluster using MongoDB atlas ?
Tags: todayilearned, beginners, webdev
Published: 2022-11-25 05:37:10

Hello everyone, 

In this blog , we will be seeing how to create a cluster using MongoDB atlas. 

## Process 🚀

- Go to the [MongoDB Atlas landing page](https://www.mongodb.com/cloud/atlas/register)  and create an account with necessary information and also verify your email id. 

![Step 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w3nih52uarwfu961lbdn.png)


- After that , Click on the `New project` from the top left of the `projects dropdown`

![Step 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bemf6xa5iwmp8k2cdtv.png)


- Give the project name , go with default options and **create a project**. 


![Step 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p54p4hev0rvz73wifew4.png)


- Now you will be on your created project console. Click on  `Build a database`.


![Step 4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5krg9x0s624rty8towjw.png)


- Now click on the shared cluster and click Create. You will be then navigated to the cluster configuration page. Go with default options and click on `Create Cluster`.


![Step 5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xxs2vqgjepli76vdp6l8.png)


- For authenticating the connection , enter a user name for eg, `admin` and autogenerate the password. Keep both username and password safe, as we will be needing it while establishing a connection from any server side framework with your mongodb atlas. Click on `Create User`.

![Step 6](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txpdb2musomzmck7cxqp.png)

- For `Where would you like to connect from` , choose the local environment , click on `Add my current IP address` and click on `Add Entry`. Finally , click on `Finish and close`. 

Congratulations  🎉 🥳 🥂 . You have finally created your shared cluster. 

## Next Steps 🪜

1. You can connect your MongoDB cluster to any of the following 
    1. MongoDB shell.
    2. Server side application using native MongoDB drivers.
    3. MongoDB Compass.
    4. MongoDB host in VSCode.
2. You can create a collection and database and play around with it. 

## Conclusion 🎉

Thanks for reading everyone. In the next blog , we will see how to create an API with FastApi ( Python web framework ) and MongoDB.

![https://media.giphy.com/media/lOJKLVYkNDWN8GoPoA/giphy.gif](https://media.giphy.com/media/lOJKLVYkNDWN8GoPoA/giphy.gif)
MariaDB vs. MySQL For WordPress
Tags: mysql, mariadb, wordpress, database
Published: 2022-11-25 05:29:52

If you're running a WordPress site, then you're going to need a database. And when it comes to databases, you have two main options: MariaDB or MySQL. But which one is best for WordPress?

In this post, we're going to pit MariaDB against MySQL and see which one comes out on top. We'll cover everything from the pros and cons of each database to how to choose the right one for your WordPress site.

By the end of this post, you should have a good understanding of both MariaDB and MySQL and how they work with WordPress.

## MariaDB or MySQL?

WordPress users can choose between MariaDB and MySQL. Both databases are open source, meaning that anyone can access and modify the code. However, there are some key differences between the two databases.

For example, MariaDB offers more storage engines than MySQL. This means that it can support a wider range of data types and SQL queries.

Additionally, MariaDB has better performance than MySQL. This is because it was designed with higher-traffic environments in mind, such as web applications and ecommerce sites.

If you are looking for a database that is both powerful and performance-friendly, then MariaDB should be your choice. 

However, if you are only concerned about price, MySQL may be more affordable. Either way, it's important to choose the right database for your specific needs.

## How to Choose The Right Database For Your WordPress Site: MariaDB or MySQL?

When choosing a database for WordPress, there are many factors to consider, including compatibility with the web hosting that the site is using, performance, security, price, and ease of use.

One of the most popular databases for WordPress compatibility is MariaDB. It is also one of the most affordable databases available. But, MySQL may be more suitable for some sites due to its higher performance.

Ultimately, the best database for WordPress is the one that meets the specific needs of the site.
OpenLDAP2.4 BDB DB gets Panic after upgrade to OpenSSL3.0
Published: 2022-11-25 05:34:52

Customized OpenSSL3.0 in RHEL8 and installed in our product. Installation is successful but many process are disable state due to dependency on LDAP server. Investigated further on reason why LDAP is down by executing the LDAP startup manually in the console and below are trace identified. Could you please help in resolving this issue?

**63805081 bdb(): BDB0060 PANIC: fatal region error detected; run recovery
63805081 bdb_cache_entry_db_lock: entry 3325, rw 0, rc -30973
63805081 **bdb_dn2entry("uid=fsldaproot,ou=people,fsFragmentId=security,fsClusterId=clusterroot")
63805081 bdb(): BDB0060 PANIC: fatal region error detected; run recovery
63805081 bdb_cache_entry_db_lock: entry 3325, rw 0, rc -30973
REST API With Passport Authentication In Laravel 9
Tags: laravel, laravel9, rest, api
Published: 2022-11-25 05:30:00

In this article, we will see REST API with passport authentication in laravel 9. Also, we will perform CRUD operations with laravel 9 REST API. REST API is an application program interface that uses HTTP requests to GET, PUT, POST, and DELETE data.

Laravel provides an easy way to create API. If you have authentication in your mobile app then you can easily do it using the passport. 

Laravel passport provides a way to create auth tokens for validating users. If your application absolutely needs to support OAuth2, then you should use Laravel Passport.

So, let's see how to create REST API with authentication using a passport in laravel 9 application, laravel 9 rest API with passport authentication.

```
Step 1: Install Laravel 9 for REST API with Passport Authentication

Step 2: Install Passport Using Composer

Step 3: Passport Configuration

Step 4: Add Table and Model

Step 5: Create API Routes

Step 6: Create Controller

Step 7: Create Eloquent API Resources
```
Avianca miami
Tags: travel, airlines
Published: 2022-11-25 05:28:55

Since December 1991, [Avianca miami](https://www.airlineshubs.com/avianca-airline/avianca-miami-office-in-florida-usa/) has served as the national airline and flag carrier of Columbia. After a few years of beginning flight services, it changed its name from the SCADTA, under which it was initially registered. The airline has its headquarters in Bogota, DC, and El Dorado International Airport serves as its hub airport. Currently, the airline provides flight services to a number of domestic and foreign places.
HTML Memories
Published: 2022-11-25 05:10:15

I remember in college taking a few of the web programming classes that included HTML and CSS back in 2005. Switching careers and becoming a software engineer has brought back a lot of fond memories of how much fun it was to code. I could do it for hours and all of a sudden 5 hours had gone by and it felt like half an hour. I can't wait to graduate with my degree in hand!
【TypeScript 30】Day 5：陣列與元組 ( Tuple )
Published: 2022-11-25 05:01:36

經過前幾天的分享，已經大致上介紹完了大部分基本物件的型別推論跟註記的機制囉!!

緊接著就繼續介紹 TypeScript 有而 JavaScript 沒有的資料型別吧!!

### 元組( Tuple ) 以及列舉 ( Enums )

元組其實與陣列很像，所以在這裡我們先來比較一下兩者的區別，既然要比較那就一樣從型別推論與定義開始吧!!
>  元組 ( Tuple ) 的定義與型別推論

* 當元組值被指派到變數時，**一定得進行積極型別註記。**

在這裡舉個例子：若想存取各種調酒的資訊，以 JS 陣列格式存取 — 第一個值為基酒名稱，酒精濃度，添加香料，基酒年分別。

![圖一](https://cdn-images-1.medium.com/max/2680/1*D0YQGeI6tFm9gwqPiWGAZg.png)

依造前一篇提到的 union 的觀念我們預期推斷出來的型別會是 (string | number | Date)[] ，在這種情況下我們無法得知陣列中各索引所對應的型別，因此我們在這裡我們使用 TS 的**元組型別**，會像下圖這樣。

![圖二](https://cdn-images-1.medium.com/max/2560/1*ht2TKFO6psJ-d-HMEVaScg.png)

在這裡讀者就會想到[string, number, string, Date]這段註記型別的程式碼重複性很高，肯定有優化的空間，有的!! 那就是 — — **型別化名（Type Alias）**。

型別化名的規則如下

    type <custom-type-name> = <your-type>;

不過在每個同樣類型的陣列重複了相同的程式碼一定會有優化的空間，在這裡，使用型別化名我們只需要標示一次此陣列的型別，接下來使用定義好的化名就可以省略一長串的元組型別格式了，**稱為 — *抽象化(Abstraction)***

![圖三](https://cdn-images-1.medium.com/max/2208/1*tlDB4kWO-wqd1bYshZRlKg.png)

那麼使用元組對我們開發上有什麼實質上的幫助呢?

在回答這個問題之前要先曉得元組與陣列的差異，相信看過剛剛的型別註記後就能看出差別，以調酒資料為例：

![圖四、陣列與元組差別](https://cdn-images-1.medium.com/max/2092/1*zBfXU3lDxFd6W58iUR0w3w.png)

* 重點陣列型別中，只要裡面的元素為此陣列規定的範疇，就不會出錯，也就是說陣列中的元素型只要是 string 、 number 、 Date 就不會出問題，元素的數量、順序都不被列入規定範疇 ; 反之，使用元組不僅型別必須符合規定外，順序、數量都必須按造元組的規定。

看看例子吧：

![圖五](https://cdn-images-1.medium.com/max/2056/1*4TJcGDn7xDj1i0KLO2t40Q.png)

如此一來就可以比較準確的推斷該陣列中的各個型別

![圖六](https://cdn-images-1.medium.com/max/2000/1*Uo6M_BGm7JN1aPDMz60-7g.png)

不過讀者可能又會想說，如果資料型別相同的話不也一樣可能誤解元素的意義嗎 ? 拿剛剛的例子來說：

同為字串類型的基酒( index 0 ) ，和香料(idnex 2 ) ，如果反過來的話並不會出錯，原本的意思是 ：Manhattan 的基本資料：**基酒為 whisky **，酒精濃度 30%，**添加香料使用 "Angostura"**，基酒出產日期為 2005/02/03。

不過因為調換字串類型 typeScript 無法幫我們判別基酒與香料的差別，因此當調換時變成基酒是 **“Angostura” ，香料為 whisky。**這就完全不符合我們的預期了，因此建議使用元組定義型別時，建議使用 Josn 格式定義，如下：

如此一來不僅解決了**順序差異的問題之外更增加了描述性。**

![圖七、使用JSON格式撰寫元組](https://cdn-images-1.medium.com/max/2092/1*6TERhRcyBikTWOcyXuyu-Q.png)

小結：這幾天忙著面試，原本預計這篇文章要在 2 天前完成的，拖了幾天比較有時間完成，接著下來要介紹的是 TypeScript 另一個自定義型別 ( Enum )
【TypeScript 30】Day 3：函式型別
Published: 2022-11-25 04:59:35

繼昨天提到的基礎物件型別後，接著就來看看同為物件型別中的函式型別吧 ( JS 中所有東西都是**物件**或純值 )。

## 物件型別之函式型別 Object Types

這篇一樣要看函式型別的**推論與註記**是如何運作的，首先從最基本的開始看起，宣告一個 simpleFunction 的函式，型別推論出來的結果是 () => void也就代表 **輸出端是空的 **或代表**不回傳的狀態。**

![](https://cdn-images-1.medium.com/max/2000/1*RhX2ym3edwROFhnKSAFXFw.png)

目前的參數是空的，如下圖，如果加入了參數之後呢 ?

![](https://cdn-images-1.medium.com/max/2112/1*JcEr6ZW-v_GhPmRfr1C_3g.png)

TypeScript 就對參數提出意見了，在這裡要注意下錯誤訊息，TypeScript 在這裡把參數判斷為 any 不過 TypeScript 在意的點是沒有對參數**進行型別的判斷**，不過 Day 1 我們有提到對於 TypeScript 是不太管 any 這個型別的。

![](https://cdn-images-1.medium.com/max/2000/1*asodw08fOylW1hnEQ0DwmA.png)

** Implicit Any — 當沒有設置參數型別時，TS 就會很貼心的幫我們把值設置為 any 達到警告的效果。*
>  為何 TS 突然在意起 any 型別了呢 ?

TS 如果要推論出函式輸出的型別的話，前提是要先知道輸入的型別是甚麼。

假設有個相加的函式 addition 在參數 num1、num2 ，在型別是 any 的情況下，此函式輸出的結果可能會是數字的 "17 " 又或者是字串連接的 "89"，如此一來我們就得猜當時寫這個函式的開發者預期輸出、輸入的型別與結果，對於維運專案的人員來說是很大的精神消耗。

![](https://cdn-images-1.medium.com/max/2112/1*lZevXT1M5xfbTZzPJI_86w.png)

如果今天我們把參數的型別故意定義成 any 的話 shouldBeString 會得到數字的 17 ，不過如同此常數的名稱，經過我們的型別註記後，此 output 結果理應要是 string 才對。

![錯誤的情況、TS 也不會報錯](https://cdn-images-1.medium.com/max/2112/1*4bRHG3KnTD62YPTKVF8wwQ.png)

在大部分正常的使用 TypeScript 的情況之下，我們不會特意幫型別定義為 any 尤其是參數的部分，因此，個人認為 TypeScript 很貼心的地方就在這裡了，註記參數的型別時，會給你 *Implicit Any *並警告你必須要註記對應的參數才行。
>  輸入型別推論輸出型別

講了這麼多來看看 TypeScript 的厲害吧，當我們把參數都註記為 number 時，TS 竟然可以直接幫我們把 return 的結果推論出來了 !!

![](https://cdn-images-1.medium.com/max/2000/1*PNelDDuUwzGcy4xAft08uA.png)

加入空字串後更加確定 TS 神奇的地方了，在這裡並沒有報出錯誤，如同 Day 1 的原始型別 **( **Primitive Types**)**一樣，自動幫我們把 addition 這個函式推論為字串。

![](https://cdn-images-1.medium.com/max/2000/1*R8x0Zl9D7z62PDifMphv6w.png)
>  想要讓輸出的值都是同一種型別的話該怎麼做呢 ?

直接在參數後面加上欲輸出的型別，在這裡會有兩個地方被 TS 抓毛病。

![](https://cdn-images-1.medium.com/max/2112/1*DeiephJy9YlGFVbn213J0g.png)

 1. 因為已經定義好 output 的型別了，因此 TS 不允許 return 的地方有其他類別出現。

![](https://cdn-images-1.medium.com/max/2000/1*7DPam4vw0X-AVvOHJUTo7w.png)

2. 一樣的 TS 還是會幫我們推論出型別。

![](https://cdn-images-1.medium.com/max/2000/1*qmYDAc4Rj15zPPIf7zdqsA.png)

小結：漸漸明白為何專案的系統架構一大使用 TypeScript 帶來的好處，無非就是維運上的方便以及用更多程式語言替代溝通的成本，基本物件型別裡剩下陣列還沒有介紹到，很多觀念也都是環環相扣，也有很多 TS 特有的方法可以使用，敬請期待下一篇的介紹~
Lab 10: NPM Package Release
Published: 2022-11-25 04:38:37

This week in my open-source course (DPS909), for our last lab, we were asked to publicly release our [static site generator (SSG)](https://github.com/alexsam29/ssg-cli-tool).

## Release Process
The package registry I choose to release my project on was [npm](https://www.npmjs.com/).

To add my package to the registry I essentially just followed this [guide](https://docs.npmjs.com/creating-and-publishing-unscoped-public-packages). I had already done most of the steps, all I needed to do was create a npm account on the website then use `npm publish` to add the package to the registry. However, I still needed to create a release for my project before using `npm publish`.

To create the release I used the command `npm version <version number>`. This updates the version number in `package.json` and tags the release. I then used the command `git push --follow-tags` to push the tags to the GitHub repo. Once the release is tagged and pushed to GitHub, then the command `npm publish` can be used to publish the package to the registry

These steps are repeated for every update to the package.

This process was rather simple as I had already completed most steps while creating the project. The tricky part was not realizing the command `npm version <version number>` also tags the release. So I was manually attempting to tag the release and getting errors telling me that the tag already exists. This had me stumped for bit until I realized it was because the command also adds the tags.

### User Testing
I had another student in the course test my npm package on their local machine. The only issue encountered was during the setup process. Their machine didn't recognize the `ssg` command that I used for the package. So I had to adjust the instructions to have the package be installed globally. I changed `npm install ssg-cli-tool` to `npm install -g ssg-cli-tool`. Once that change was implmented and the user installed the package globally, it worked as intended.

## The Final Release
Here is the final package release: https://www.npmjs.com/package/ssg-cli-tool

To install this package, in the terminal input the command:
```
npm i -g ssg-cli-tool
```

Then run it using on a text or Markdown file by using this command:
```
ssg -i <filepath of txt/MD file>
``` 

Follow the instructions in the README.md file for more options.

GitHub Repo: https://github.com/alexsam29/ssg-cli-tool
What is the best way to learn python
Tags: beginners, python, programming, productivity
Published: 2022-11-25 04:36:47

Python is a versatile programming application fit for managing everything from major substances to dynamic plans. The recognized strategies, for example, unit evaluation, change control, and discretionary clarifications are featured in regarded Python establishment's re-trying courses. Foundations like Udemy, Coursera and others give Python courses that are predominantly founded on showing students the language's fundamental parts.

We should see the most marvelous affiliations that give python arranging close-by work possibilities. Coming up next is a full outline of such establishments:

1. Udemy

It offers Python courses from fledgling to the prevailing level. You can acquire capability with the two varieties, Python 2 and Python 3, with Udemy. This is an overall advanced planning business center. It is an open-source stage that serves more than 10 million students worldwide with python courses. It offers a wide selection of courses, from amateur to overwhelm, in various programming languages and at different evaluating focuses.

2. Coursera

This is an enormous electronic mentoring network that obliges both nearby and off-ground students. It is the best web learning area, with classes in Python corresponding to different other programming vernaculars like Ruby on Rails, JavaScript, and HTML/CSS.

Tolerating you truly need a gentler preface to the language, you can go to Coursera's Introduction to Interactive Programming in Python. A phenomenal little course will get you going with the wanderer pieces.

3. Stack Overflow

Python is open source. Basically, open a Python shell and begin keeping in touch with some code. Utilize the power documentation and Stack Overflow as your partners. This is for certain the best way to deal with learning the language.

4. Google Python Class

On the off chance that you haven't any clue, Google in like way has a stunning arrangement of python enlightening exercises for novices, known as Google's Python class. This is a free class for individuals with a bit of programming experience and who need to learn Python. The course joins framed instructive exercises, address records, and stores of code activities to rehearse Python coding.

Conclusion:

Simply follow these means to take in Java with no arrangement:

1. Outline your basic mathematical thoughts.

2. Explore any issue and settle it on pen and paper.

3. Draw a flowchart for a few optional issues.

4. Learn fundamental Java sentence development and significant considerations.

5. Code the issue.

6. Run a couple of examinations.

7. Make do and explore the code to kill missteps and rot the presence of different plans.

Much gratitude to you for scrutinizing!!
fastdbaccess (Organize and Manage your database) | MongoDB Atlas Hackathon 2022
Tags: atlashackathon22, mongodb, atlas
Published: 2022-11-25 04:24:53

---
title: fastdbaccess (Organize and Manage your database) | MongoDB Atlas Hackathon 2022
published: true
description: Easy and simple way to create your database and use the api url perform CRUD operations on your application.
tags: atlashackathon22,mongodb,atlas
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w13wuahgwueekvboizkf.gif
---

## What I built
*fastdbaccess*: Organize and Manage your Database

Easy and simple way to create your database and use the api url perform CRUD operations on your application.

{% embed https://youtu.be/2cSPbRUjoPE %}


### Category Submission:
Type 5: Choose Your Own Adventure

### App Link
Live Link 🌍 🚀: https://fastdbaccess.vercel.app

### Screenshots

Landing Page
![Full landing page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hbg3p20ah1bfl1ibrgly.png)




### Description
"fastdbacces" which help you to create your database and use the api url perform CRUD operations on your application.

A full step-by-step flow on how it works 👇

{% embed https://youtu.be/YZyQC2i1R2s %}

### Link to Source Code

https://github.com/lmas3009/fastdbaccess

open-source project

### Permissive License

[MIT](https://choosealicense.com/licenses/mit/)

## Background
(What made you decide to build this particular app? What inspired you?)

For all my websites, I need to create a database, host a backend service and connect to my contact form. Then I thought of building an app where I can manage all my databases in a single place. So, I can directly use their APIs to store my data. So, we created fastdbaccess to organize and manage your database in a single place.


### How I built it
(How did you utilize MongoDB Atlas? Did you learn something new along the way? Pick up a new skill?)

I have some experience in building projects with MongoDB atlas. When it comes to this project "fastdbaccess". I used a free plan of MongoDB cloud. Through this hackathon, I get to know how search functionality works and real-time streaming. In this project, I haven't used any of those. I tried a simple way. So, this project is under Choose Your own Adventure.


### Additional Resources/Info
Want to share the RoadMap of fastdbaccess from empty to launch

Started design work on 9-Nov-2022
Launched the landing page on 11-Nov-2022
Added pages of auth, pricing, contact us on 13-Nov-2022
....
Launched the product 23-Nov-2022

Overview Photo of git commits
![git](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ffo4qrdyaedf2wnz7gpm.png)

The product is launched in producthunt.com link 👇
{% embed https://www.producthunt.com/posts/fastdbaccess %}

Fell Free to try our product and share your feedback.


Thanks for reading my post.

![thank you](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdoqtnvqq30qv87qk773.png)
TT PHOTO – Real Estate Photo Editing, Virtual Staging, Virtual staging photos
Tags: python
Published: 2022-11-25 04:21:02

TT PHOTO – Real Estate Photo Editing, Virtual Staging, Virtual staging photos, Day To Dusk, Video sideshow, real estate editing services, HDR  real estate editing services
Website: https://ttphotocompany.com
Email: ttphoto.co.ltd@gmail.com
Social #1: https://www.facebook.com/TTPhotocompany/
Social #2: https://twitter.com/ttphotovn
Social #3: https://www.instagram.com/ttphotovn/
Social #4: https://www.pinterest.com/ttphotovn/
Social #5: https://www.youtube.com/channel/UC9cwkIkVnhSWYvbr_5mt7pA
Social #6: https://www.linkedin.com/in/ttphotovn/
Social #7: https://vimeo.com/ttphotovn
Social #8: https://www.twitch.tv/ttphotovn/about
Blog 2.0: https://ttphotocompany.blogspot.com/
Địa chỉ: Số 2 ngõ 71 Phương Canh, Xuân Phương, Từ Liêm, Hà Nội
Install Kafka on CentOS 7
Tags: kafka, installation, centos7
Published: 2022-11-25 03:19:08

Bismillah

## Prerequisite:
1. Java 1.8

## Installation:
1. Download Kafka
`wget https://mirrors.estointernet.in/apache/kafka/2.8.1/kafka_2.13-2.8.1.tgz`

2. Extract downloaded zip
`tar -xzf kafka_2.13-2.8.1.tgz`

3. Create symlink
`ln -s kafka_2.13-2.8.1 kafka`

4. Export
`echo "export PATH=$PATH:/root/kafka__2.13-2.8.1/bin" >> ~/.bash_profile`
`source ~/.bash_profile`

5. Run zookeeper
```
cd kafka/bin
./zookeeper-server-start.sh -daemon ~/kafka/config/zookeeper.properties
#check if zookeeper successfully running
telnet localhost 2181
# install telnet if not available (optional)
yum -y install telnet-server telnet
```

6. Run kafka
```
./kafka-server-start.sh -daemon ~/kafka/config/server.properties
#check if kafka successfully running
telnet localhost 9092
```

Now you are done install kafka on CentOS 7

## Optional
1. Create kafka topic 
`./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic my-topic`

2. List created topic
`./kafka-topics.sh --zookeeper localhost:2181 --list`

Alhamdulillah
Making sure Izyum is always fresh
Tags: opensource
Published: 2022-11-25 02:56:40

## Overview 
This week we worked on integrating CI into our [open-source projects](https://github.com/Myrfion/izyum). It is not the first time for me to work with CI and pipelines in general, but I find it very satisfying to put my project on some pipeline every time. These kinds of automations sometimes feel like magic to me. 

## Implementation 
Since my project isn't that big I had only two things that I want to perform on my pipeline:
1. Running ESlint check
1. Running my units tests, which are already built 
After some time of going through the GitHub actions [documentation](https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs) I ended up with the .yml that looked like this:
```
name: ci

on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main

jobs:
  lint:
    name: ESLint
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Setup node
        uses: actions/setup-node@v2
        with:
          node-version: '16'
          cache: 'npm'

      - name: Install node dependencies
        run: npm ci

      - name: Run ESLint
        run: npm run lint
  unit-tests:
    name: Unit Tests
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Setup node
        uses: actions/setup-node@v2
        with:
          node-version: '16'
          cache: 'npm'

      - name: Install node dependencies and run Tests
        run: npm install-ci-test
```

Then I created the [PR](https://github.com/Myrfion/izyum) and made sure that it run [successfully](https://github.com/Myrfion/izyum/actions/runs/3544817265) and also made another commit where I purposely crashed tests to make sure that CI would [fail](https://github.com/Myrfion/izyum/actions/runs/3544824839) too. After all of these, I merge the PR in the main branch.