Hi, I'd like to help you with your question.
You are describing an abusive relationship. Your boyfriend is jealous so he tries to control who you talk to. He imagines that you are cheating on him and uses this as an excuse to abuse you. He is not respecting you or trusting you. These are two basic needs in a relationship that make it successful. Your relationship has neither because of your boyfriend's issues.
Having good times mixed in with abuse is very common in these types of relationships. The vicXXXXX XXXXXgs onto the good times to prove that the relationship is not all that bad. It is hard to face leaving a relationship that you feel may improve.
The fact that he also blames you for being the aggressor says that he does not see a problem with his behavior. This is typical for an abuser. They often blame the victim so they do not have to take responsibility. This allows them to continue abusing because they justify that the victim deserves it.
This is a bad relationship that you should end immediately. Abusers rarely recover and get better so don't expect your boyfriend to improve. He may even become worse, especially if you marry because it is harder for an abused woman to leave a marriage.
Here is a resource to help you:
If you have trouble leaving, consider counseling to help you. It is important that you have support and resources to help you stay strong once you leave the relationship as well.
I hope this helps you,