==========This issue has been fixed, but feel free to read what happened=================
I've been really struggling with this. I set up everything following the instruction given by the official wiki and the official web. I got the port forward right and I used the https://canyouseeme.org to check my port. It showed me that my port isn't blocked by my ISP.
However, while I was really excited to see my first ever server, I gave the external IP (with default port 25565) to a friend to test it for me, but with no luck. My friend was not able to connect, and my port was not able to be reached to by NATCAT.
I've looked through the internet but I have never found a suited case my own. So here I am.
Here are my configs and the port setting. Hopefully I will get this resolved.
It turns out it is not my settings that's wrong. My friend came over to open up a test port to test out the server setting, but it worked right after he opened a new port. I am thinking this is because of the malfunction of my router. Next time if you have the same issue just try restarting the router, it could work right after if it's not the settings issue