Hey there!
I’d like to address some of the needs expressed by roaminggamer as they showcase some of the features easily achievable by using GameSparks.
Data-upload/Download: GameSparks has wide support for Uploadable and Downloadable content, with some of our clients even utilizing us to deliver DLC in the form of packages, but we’re most used for user-driven and developer-driven content. What you expose to developers and end-users is a matter of your own choice, for example, users could upload JSON/Binary data or even avatars under a certain tag, that would only be exposed to other players. Developers could upload level content and layouts as another form of structured/unstructured data under another tag that would not be exposed to regular users. It’s all up to you. I recommend looking through our tutorial on Uploading content to GameSparks. https://docs2.gamesparks.com/tutorials/database-access-and-cloud-storage/uploading-binary-content-from-game.html
Friend Systems come out of the box with GameSparks, while features such as Message Boards and Voting can be configured yourself in a number of ways. You could persists messages to one of our database collections to be read through Cloud Code, or set up our out of the box “Teams”, which includes it’s on Chat system, similar to guild-chats in MMO’s for example.
Feel free to download the Corona SDK and play around - https://docs2.gamesparks.com/sdk-center/
If you have any questions you can get in touch with our support team via https://support.gamesparks.net/support/home - We’d be happy to help in any way we can 
Clare