Following assignments have been archived. They have kept here for historical purpose.

If you have started working on them, you can continue working but please note that newer assignments are much simpler and will take less of your time.

No matter which assignment you pick, you will need to setup a hosting with live demo. So please be careful with hosting requirement especially for video challenge.

1. Video Encoding Challenge

This is more like building your own YouTube. 🎥

Please create an interactive JavaScript/React app which has:

  1. Upload: Option to upload video in any format. Since videos are large, the uploader should show progress.
  2. Convert: On successful upload video, the server-side (PHP) process should encode video into mp4 format in the background. Basically, after the video upload is complete, a user will simply close the browser. But when they come back later they should see video available in multiple formats. You can use FFMPEG to encode videos.
  3. Thumbnail: For videos that are successfully converted, display thumbnails like YouTube homepage shows. Once anyone hovers on thumbnails, a small GIF should play automatically so people can see the content of the video without watching the entire video.
  4. Watermark: For uploaded video — a user can provide watermark text — give an option for the user to specify text — and use user-provided text to add that in the video as watermark.
  5. Transformer: Give option for a user to rotate video 90, 180, or 270 degrees in clockwise as well as anti-clockwise format.

2. Twitter-Timeline Challenge

Note: If you’re not able to obtain a Twitter developer account within the stipulated time then please attempt the Video Encoding Challenge.

We have divided the assignment into 3 parts to help define the objectives for each accurately. It is necessary to complete all parts in order to complete the challenge.

Part-1: User Timeline

  1. Start ➞ User visits your script page.
  2. The user will be asked to connect using his Twitter account using Twitter Auth.
  3. After authentication, your script will pull the latest 10 tweets from his “home” timeline.
  4. 10 tweets will be displayed using a pure CSS and Plain JS slideshow.

Part-2: Followers Timeline

  1. Below the slideshow (in step#4 from part-1), display a list of 10 followers (you can take any 10, random followers).
  2. Also, display a search followers box. Add auto-suggest support. That means as soon as the user starts typing, his followers will start showing up.
  3. When the user will click on a follower name, 10 tweets from that follower’s user timeline will be displayed in the same slider, without a page refresh (use AJAX).

Part-3: Download Followers

  1. There will be a download button to download all followers of any user (we will input user @handler).
  2. The download can be performed in one of the following formats i.e. You choose the format you want. It would act as an advantage if you give the option to download the followers in all the following formats: google-spreadsheet, pdf, and XML formats.
  3. For the Google-spreadsheet export feature, your app-user must have a Google account. Your app should ask for permission to create a spreadsheet on the user’s Google Drive.
  4. Once the user clicks the download button (after choosing the option) all followers of the specified user should be downloaded.

Please note that we are aware of Twitter API limits for retrieving tweets/follower’s data although you have to overcome these by thinking outside the box like we do at rtCamp.