Try to commit, as you read this, to do no harm to the other. “Do no harm” includes avoiding talking with bitterness about the other, not deliberately ignoring, or not thinking about taking revenge.
I do think it may be more difficult to forgive someone who has what you call “anger issues” and then expresses that anger consistently to you. You may have to forgive on a daily basis if you are in regular contact with a person who is continuously angry. After you have forgiven to a deep enough level so that you can approach, in a civil way, this person, then it may be time to gently ask for justice. Part of justice is to ask this person, if you feel safe with this, to begin working on the anger so that you are not hurt by it.
Forgiveness does not proceed perfectly and often the outcome is not perfect. If you have done the work of forgiving and if your anger no longer controls you, then I would say that you have forgiven even if you have some anger left over.
Being together does not necessarily mean that you are reconciled. Reconciliation includes trust, but trust is earned back inch-by-inch. Does your boyfriend show you signs that he has remorse (sadness for what he did)? Does he show repentance (saying he is sorry)? Does he engage in recompense (behaviorally trying to make up for what he did and behaviorally showing he is trustworthy)? Keep these three issues in mind (remorse, repentance, and recompense) as a way to build your trust so that you can achieve a true reconciliation.
Forgiving another need not be whole-hearted. Sometimes people have anger left over and that is not an indication that there is no forgiving that is happening. Do you wish the other well? Have you forgiven to a point? For now, that may be enough. You need not be hard on yourself.
The decision to forgive usually is a cognitive act rather than an expression of the heart, of one’s emotions. One usually makes a decision to forgive without necessarily feeling compassion and love because we are not yet ready to offer these when we make the cognitive decision to forgive.
I recommend that you ask yourself what is your current level of anger—on a 1 to 10 scale—for each person. Order the people from the least anger you have to the greatest anger you have. Start with the one person with whom you have the least anger. This will allow you to get a sense of the forgiveness process and to practice that process before you get to the person who hurt you the most.
This process model was not constructed to be a rigid model in which you have to follow the sequence in the exact order. Some of the units will be irrelevant for you and so you can skip them. Sometimes, as you are near the end of the forgiveness process, your anger re-emerges. At that point it may be best to cycle back to the earlier units to once again examine and confront your anger.
Yes, this kind of practice on those who have done nothing wrong can be good practice for the time in which there is injustice and pain and anger. Taking the global perspective with others who are not harmful will not lead to an automatic forgiving (toward those who are unfair to you), but it could make the starting of the process easier. It could make the cognitive understanding of the offending other easier as well.
The person who has forgiven should not reconcile if the offender’s behavior is deeply harmful. An unrepentant offender likely is not going to change that behavior soon.