Code Monkey home page Code Monkey logo

fullstack-takehome's Introduction

Teachable Fullstack Takehome

If you're reading this, you're likely a candidate for an engineering position at Teachable. For this exercise, you're going to be building a search for Ruby Gems.

You'll take as input a search query, hit a search API endpoint, and displays the results in a list view with some added functionality (detailed below).

The application, once completed, should meet the following criteria:

  1. It have a search box that lets users search for Ruby Gems.
  2. It should display the results of the search in a list.
  3. Each Gem should have a button that lets users "save" and "unsave" Gems.
  4. It should have a way to view saved Gems, even after the browser window is refreshed.

The application does not need to do the following:

  1. Implement authentication or multiple users.
  2. Use any external search application or scale to a very large dataset size.
  3. Rank the results with sophistication.

Here's a few things we'll look for in our evaluation:

  1. Clean, well-organized code.
  2. Sensible architecture choices that perform well.
  3. A functioning backend and UI. If your role is frontend we'd like to see more styling but otherwise, minimal styling is all that is needed.
  4. Consideration for ensuring the system works.

Getting started

We've included two data files to work from:

  • data/rubygems.csv This file contains all publicly listed rubygems with some information about the gem you can choose to incorporate like authors, description, version, etc.
  • data/rubygem_stats.csv This file contains the number of downloads for each gem. It is optional whether you want to incorporate this information.

Step 1: Fork this repo and clone it

Step 2: Evaluate the project

Let us know your estimate of when you'll be ready with a submission.

To set expectations so that this exercise does not feel unbounded, with a complete focused block of time, we don't expect a level of effort beyond an evening or two or about 4 hours total. But we also understand you may not have a single block of time that would make it completeable in a single session. Beyond a functioning solution, you may document additional changes you would make given more time.

Step 4: Start coding

Feel free to be creative and make any technical or functionality choices that haven't been specified. You can use whatever language or packages you would like, but you should understand and be able to answer questions about anything you do choose to use. Please however do use a language in common use. For reference, at Teachable, we code in Ruby, Python, Elixir, Javascript/Typescript.

Step 5: Send over your project

Send us a link to code with instructions to run and evaluate.

fullstack-takehome's People

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.