To comment on the rating:
In an app my previous company developed, we implemented a basic honor system. We had a formula for it, but the basic 3 points were: Age of account, number of reviews, avg. rating of reviews.
All users started at 0 "points" and would get smth like +1 per month, +1 per review, +2 per positive rating and -3 per negative rating. Also the company we made the app for could give/take points.
There were upper and lower limits from -25 to 75 and based on that a review would contribute less or more to the rating (a -25 was practically shadow banned, only adding 0.01 to the avg).
This system can still be abused (which is why you won't tell to the users, that it exists), but it's relatively simple to implement.