Did this just start the last few months? Since it's been 3 weeks and you are still bleeding, and have been experiencing these symptoms for a few months- I'd get into the doctor. They will probably want to run a few blood tests- check hormone levels and things like that to get a better idea of what may be going on. Let us know how your appointment goes!
Bleeding more than 7 days for a period is outside of normal. You should see your doctor. Or go to a clinic if you don't have one. Different things can cause this. Purple mentions hormones out of balance which is one reason. Others include a host of things like infections, endocrine issues involving your thyroid, polycystic ovaries, a simply ovarian cyst (that is not dangerous but passing), polyps, fibroids, unfortunately many cancers, etc. Doctors do want this to be evaluated to determine the cause as some are easily tweaked and others are more serious. I'm sure you will be fine, but you need to stop the excessive bleeding. For the simple fact you can become anemic alone. So, see your doctor. good luck