Should he make me pay?

My boyfriend is very cheap when it comes to money and never spoils me. He tried really hard not to break the bank on me (he has never taken me out on a restaurant date) but I always try to spoil him because that is what makes me happy and one of the ways I show that I care..

Well, we want to do this DIY project and it’s gonna go in his room. He made me pay for half of the materials even though it’s for him and I’m helping him out with making it. It feels very unfair...

He doesn’t spoil me but he does In fact cook for me. But the thing is with that, I help him buy his groceries and I also help him cook our meals and he’s always the one keeping all of the leftovers.

I’m just running out of money here and I feel like he really doesn’t give a damn about me.

He also doesn’t reciprocate oral which bothers me.

Idk what to do, do I have a right to be upset? He’s very selfish and I don’t know how to deal.