Co-founder at WebHive.co (web and app development company), CTO at the biggest circus community CircusTalk.com and Norwegian fashion startup Insp.love
IIt depends on your market. Which side will gain the most from using the app? If you help one side to gain more income there is a perfect place to have monetization strategy implemented. It could be a fee for the payment transaction (if you process payments) or some payment for completed project/class/etc.
If there is no payment in place you might consider making another profile level for either users or providers, giving this level features they are willing to pay for. Something that helps them save time or get some income as a result. It’s hard to say without more details about the app.
I won’t bother with regular ads, unless you can have some kind of partnership deal related to your niche. For example, if it’s an app for tourists/guides you might get a partnership with one of the airline ticker aggregators. Think about companies who can benefit more from ads for your app audience.
In case you have chosen WordPress for MVP it’s better to go with existing solution for community, like BuddyPress. While it’s ok for MVP except issues as the userbase grows. At some point you will need to migrate data to some other platform and it might not be the easiest task.
As to what could be used for the tech stack - I would recommend to go with technology your developers are familiar with. Please note, it will be easier and less expensive to find developers familiar with php/mysql than, for example, JS stack. So keep that as a consideration.
There are few scripts/platforms for communities already available. But the quality of code/architecture differs.