We need you to build a system that can receive sms, email and facebook messages; parse the message to see if it contains a video link from one of youtube, vimeo or vine; and then save that video link to mongoDB (along with a little bit of information about the user that sent it, e.g. phone number, facebook id, email address, etc.).
This task is part of a larger project that we’re working on to build a social network to facilitate the sharing of 3rd party internet videos among friends. We’ve already built most of the app but would like to outsource this feature. We’ve also already built the front-end, so no need to do anything there.
We’ve built the app in Meteor.js and phonegap, but because this aggregation feature will simply be saving information to a db, you can choose to use whatever languages and frameworks you like best.
We envision this feature as allowing our users to “save” videos that they receive from the outside world, into our app. For instance, let’s assume a user receives a video link from a friend via email. They then forward the email to a special email address that you’ve set up. Your code parses the email text, extracts the video url and saves it to the db (along with information about the sender). When the user then opens our app, they’ll be able to interact with the video in the app and share it with their friends in our app, etc.
Receive email, sms and facebook messages
Parse messages, looking for any youtube, vine or vimeo links
Save any found links to a collection in our mongoDB with information about the sender (phone number in the case of sms, email address in the case of email, and facebook id (???) in the case of facebook). Multiple video links will be saved to multiple, individual documents.
Nice to haves (these are not requirements):
Built using nodejs, preferably meteor
Experience writing apps that receive and interact with sms, email and facebook messages (could have been on multiple projects)
5+ years coding experience (time spent working on CS degree counts; note that a CS degree is obviously not a requirement, though)