A 30 gallon tank would serve a shower for one person, with very little other demand in terms of sinks, dishwashers, laundry, etc. Around here, the city will approve a minimum 30 gallon tank for a studio or 1 BR apt.
As far as the tub, you have problems. A 30 gallon tank will deliver 21 gallons of water at a temp. not less than 20º below set point. ie if it is set at 130, you could get 21 gals. of water at least 110º. A 50 gallon tank gives you 35 gallons. ( This is the 70% rule)
The only thing which will give you unlimited gallons of hot water is a tankless unit, but at a very slow GPM rate, depending on size of unit.
Tell us more about your house, how many bath, how many people,etc. If the tub is an important use, and/or you do lots of laundry, you are a candidate for a very large GPM tankless, or an 80 to 100 gallon tank.