I want to create a community around the current iPhone application that I created. This will allow registered users to upload and download small configuration files or settings that are used in my application to configure functionality. These files are serialized plists (binary files about 500 bytes in size), but can be converted to JSON or XML format if necessary.
I do not need an external HTML interface; I plan that it can only be accessed through my application. Files do not have to be confidential or secure. I do not plan to store or request any personal user data - just a username and password.
I am looking for tips that can come close to my goals with minimal effort - I want to focus on the main functions of the application and have it as a stable function that I can add to the future, if it is useful. Of course, I would prefer FOSS, but there can be no commercial solution. Things like apis file sharing sites, login ideas, etc.
So, what software solutions exist there that I may not even suspect? I know that Drupal has modules that allow users to enter logins. Is there something that will not work as a web application, but as a service? Dropbox has file and API sharing, but I'm not sure I can use it the way I expect.
In short, I could code this, but would prefer a pre-baked solution that would deal with things that I might not have thought of. I am sure there must be something that I can use.
More details and what I plan to offer:
- User registration via iPhone and everything that entails (it will code the user interface on its own - I just want the API to connect)
- Viewing these files is quick and efficient (files were built with performance in mind, and this is a free application, so I would like to reduce the cost of the server)
- Uploading your own files with multiple integrity checks
- File rating
- Collection of statistics on usage (files were most often downloaded), etc., to provide the ability to rank files by rating, popularity, etc.
- Optional - sending revised versions of files (tree).
- Optional, but preferable - user statistics (no uploaded files, perhaps a reward system for sharing)
I'm just not up to date with modern technologies and open source solutions. I have experience with SQL, a relational database, and built-in backends in Java, so there can be no question that a custom solution is out of the question. However, this was a while, I am not a safety expert, and would prefer not to reinvent the wheel for what is a fairly simple project, so a turnkey solution would be preferable.