it may sound odd, but i recommend community service.
for three reasons:
1. smiles. when we see smiles we feel better. simple as that. when you help people you make them smile. (usually)
2. build community. with people there to help you, as you have helped them, you have many more resources.
3. most important, when you do charity work you usually get to work with ppl who are less fortunate. this will encourage downward social comparison. downward social comparison is known to boost self esteem.
also, just ask your parents if you could get a counselor that you could talk to. it helps just to say a lot of stuff.