If you can connect via localhost that is a good first step.
What about connecting from another computer on your lan. User you lan address (192.168.x.xxx in most cases) and see if you can connect to your server.
What about connecting from your external address yourself? Goto
http://ifconfig.me and get your address (or any other means you want to use) and try connecting yourself.
-----------------------------------------------------
If you can't connect from within your lan using the lan address then there is something firewalling the server on that PC itself. Try disabling windows firewall and antivirus applications.
If you can connect via lan, but can't connect via external IP, that means your router's firewall is blocking the connection (or your ISP). Try to change the port the server is running from default to another, and reconfig your routers port forwarding rules and try again.
If you can connect via lan, and external yourself, then your friend is an idiot or something on his side of things is preventing him from connecting.
Your guidance helped me figure it out. I'll post my simple mistake since there is probably numerous people with the same issue still.
After port forwarding for the minecraft server... make sure it's enabled as well. thanks again.