Web-Developers Assignments

At Ingress, we believe coding should be fun. For the same reason, we have setup multiple assignments for you!

Choose an assignment based on your interest/expertise. Rather than merely completing tasks/steps mentioned below, go ahead and use your own imagination to your code as good as possible!

Minimum Requirement: Before you choose assignment, please note down minimum requirement you need to meet while coding:

  1. UI Framework – Use Foundation 4.0 for CSS/JS. Make sure what you create looks nice!
  2. Responsive - Whatever you create must work on mobile devices like iPhone/Android.
  3. Slideshows must be responsive as well. A user should be able to use swipe gesture on smartphones to navigate in slideshow.
  4. Code Organisation - All 3rd party codes, library must be inside lib folder. No unwanted files e.g. IDE files, temporary files should be committed on git-repo.
  5. Github Readme – Write a nice Github Readme using markdown syntax. Make sure you include demo link and links to libraries used in readme.

Web-Developer Challenges List: Complete any one from the list below

  1. Twitter-Timeline Challenge
  2. RSS-Reader to Slideshow

Twitter-Timeline Challenge

Please create a small PHP-script to accomplish following parts:

Part-1: User Timeline

  1. Start => User visit your script page.
  2. He will be asked to connect using his Twitter account using Twitter Auth.
  3. After authentication, your script will pull latest 10 tweets form his “home” timeline.
  4. 10 tweets will be displayed using a jQuery-slideshow.

Part-2: Followers Timeline

  1. Below jQuery-slideshow (in step#4 from part-1), display list 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 user starts typing, his followers will start showing.
  3. When user will click on a follower name, 10 tweets from that follower’s user-timeline will be displayed in same jQuery-slider, without page refresh (use AJAX).

Part-3: Download Tweets

  1. There will be a download button to download all tweets for logged in user.
  2. Download can be performed in csv, xls, google-spreadhseet, pdf, xml and json formats. Show user these options.
  3. For Google-spreadsheet export feature, your app-user must have Google account. Your app should ask for permission to create spreadsheet on user’s Google-Drive.
  4. Once user click download button (after choosing option) all tweets for logged in users should be downloaded.

All parts are must. Feel free to add any extra functionality you want to make it better!

RSS-Reader to Slideshow

Here you will be creating something like Google Reader!

Special-Requirement: Must use a javascript framework listed here.

Part-1: User-Interface

  1. Create a 2-column design. Like Google Reader.
  2. Left-side i.e. sidebar have a submit button to add feed URL. You should use feed detection technique. It means, if I add http://ingressit.com, feed-reader will find-out feed-URL.
  3. Left-side i.e. sidebar will list added feeds. A user can add multiple feeds.
  4. Right-side i.e. main area will show slideshow for recently added feed. It we click on a feed-link in left-side, it will show slideshow for selected feed. There may be loading time between 2 feeds which is fine.

Part-2: Slideshow

  1. Parse titles & description of each post.
  2. Parse content-part of each post to extract first image tag . You can use regular expression pattern here.
  3. Output 10 titles along-with image thumbnails as HTML.
  4. Thumbnail must be of size 180x180px. Resize thumbnail in PHP. If you resize large images using HTML width and height, your application will be rejected right-away.
  5. So each slide in slideshow will have a thumbnail, post-title and description (upto 150 chars).
  6. Title & Thumbnail must be clickable.

Part-3: Download PDF

  1. Below slideshow there will be a download PDF button.
  2. When user clicks download button, a PDF will be created on server with slideshow content.
  3. Preserver formatting, clickable links inside PDF.

Assignment Guidelines:

General Guidelines:

  • Some assignments have multiple parts. You must complete all parts.
  • Use of Google is allowed & encouraged. ;-)
  • You are also free to use 3rd party libraries. But please mention if you use them.

Code-Review:

For code-review, you must use Github.

  1. Create a free account on Github (if you do not have an account there!)
  2. Create a git repo for your code (ask Google for how-to in case you have never used git before)

We will only review your codes from Github. So do NOT email your codes to our HR Team!