First of all, be careful about posting too much information online, it's not private or confidential.
Second, to prepare depends on where you are going to 1) request a public defender 2) hire a private attorney or 3) attempt to represent yourself (I don't recommend)
Assuming you are not just going to plead guilty is depends on how aggressive you want to be. There are several techniqes to attempt to get this dropped completely, but they are considered very aggressive.
So, to prepare - decide if goin to plead guilty (I recommend against), request a public defender in court, or go to court with private defense attorney. If you are going with a private, then your next step is to interview quickly.
Everyone has a freedom against self-incrimination but an online site like this one is not private. What you post here may be used against you. No one can say what the evidence is against you so at least remain silent and do not incriminate yourself without speaking to a lawyer.
Read my Legal Guide "Internet Privacy - Not!" if you think it might be helpful.
You might find my Legal Guide helpful " What Do I Tell My Lawyer"
Good luck to you.
NOTE: This answer is made available by the out-of-state lawyer for educational purposes only. By using or participating in this site you understand that there is no attorney client privilege between you and the attorney responding. This site should not be used as a substitute for competent legal advice from a licensed professional attorney that practices in the subject practice discipline and with whom you have an attorney client relationship along with all the privileges that relationship provides. The law changes frequently and varies from jurisdiction to jurisdiction. The information and materials provided are general in nature, and may not apply to a specific factual or legal circumstance described in the question.
I agree with the answers provided by the above attorneys. Although it is in your best interest to retain an attorney, especially if you want the best chance to keep this incident off your record, there are things you can do in order to assist your attorney. First, I would ascertain whether any of the witnesses there are willing to cooperate with your attorney. If the police only took statements from some of the witnesses, then you want to compile contact information for all the witnesses to be given to your attorney. Second, don't make any further statements to the police. I doubt the situation will arise, but you should NEVER give the police any statements regarding what happened. Ideally, your boyfriend shouldn't be giving statements either but I would have your attorney advise him as to his rights instead of you telling him what to do -- you don't want to be charged with a separate crime of witness intimidation. Along those lines, I wouldn't be telling anybody about what happened. Anybody that hears anything from you can become a potential witness against you. Third, I would NOT have your boyfriend write a letter to the DA or the judge. Many domestic violence victims do this sort of thing and in my experience, (a) it doesn't help and (b) it fits into the prosecution's perception that this is just another classic domestic violence case where the victim is changing their story or forgiving their abuser. Let your attorney plan how to use your boyfriend's cooperation in how to resolve the case.