Paperclip has a nice adapter already built in for S3 which makes processing, uploading and retrieving images magical. As far as an MVP goes, this was pretty much all we needed to get user login and swipes to start working.Again, the gist of it is, don’t reinvent the wheel when you’re trying to put out something quickly. I think most everyone uses JSON as their preferred format for exchanging information from the backend to front end.Especially in the earlier stages when your backend’s schema is more volatile and you’ll probably end up wasting a lot of time having to do a lot of pesky migrations.
We recently launched Color Dating for i OS and Android about a month ago.
It’s like Tinder but with a focus on minorities and those who like minorities.
The reason why it needs to be asynchronous is due to the time it may take to download and upload a photo from Facebook, the entire HTTP request can take 10 seconds which otherwise would clog up your ability to serve other HTTP requests.
As mentioned, we used Sidekiq, but others swear by Resque.
The client side User object should have up and down syncing methods to be able to POST new data up to the server and sync information back down to the app.
This was probably the trickiest part in building the app and took the most amount of time.
Luckily, if you’re on Rails, it comes already packaged with a JSON serializer and if you’re using Alamo Fire (which is my preferred HTTP library for Swift), it also comes equipped with a JSON to Swift object deserializer as well.
If you’re on Objective-C, the ASIHTTP library also handles JSON serialization for you.
For an MVP, I don’t think it’s really necessary to go too overboard with data persistence on the client side.