Coder Social home page Coder Social logo

meteor-react-test's Introduction

Meteor/React Coding Test

Most coding tests out there aren't really practical, real-world gauges of a developer's ability. They often consist of math or algorithmic tests, and sometimes things a JavaScript developer would rarely do. This test offers a more realistic challenge (hopefully), and shouldn't feel like a complete waste of time. ๐Ÿ˜

Application Specs

Users should be able to search for books, select one or more books by clicking on them, and save those books to their collection. Users should also have the ability to remove books from their collection as well.

Installation/Setup

  1. Fork this repo and then clone your fork, then jump into that directory on your machine.
  2. Run meteor list just to invoke automatic upgrades to your local Meteor installation (important for the next step!).
  3. Run meteor yarn to install the dependencies. If you're not familiar with yarn, think of it as a more efficient, much-faster version of npm. If you've never used it with Meteor, you'll need to run meteor npm install -g yarn first.*
  4. Type yarn start to run the Meteor app.

*Keep in mind that yarn will only be valid on a per-version basis. In other words, if you're using Meteor 1.4.4.1 and you're using yarn, if you upgrade to Meteor 1.4.5, you'll need to run meteor npm install -g yarn again.

Bugfixes

There are a few bugs and warnings in the app. Find and fix those first, please! (Ignore the React.createClass deprecation warning)

New Features and Improvements

Add the following new features and minor improvements:

Major Features

  • Add a way for people to remove books from their "My Books" collection.

Minor Improvements

  • On the "Find Books" page, make the "Save to My Collection" button only enabled once one or more books have been selected.
  • Make it so when a user saves books to their collection, the selected books are automatically deselected.
  • When books are saved (BookFinder.js, line 53), it's not really checking for any kind of errors. Added some simple error handling and show a success message (it can be as simple as a div with plain text).

Hints

All Meteor-specific code should go in containers only! Keep the regular React components pure. The reason for this (in the real world) is that if one day someone decides to abandon Meteor and go with another technology for the back-end, all the UI Components can remain untouched and only the containers need be modified.

Also, there are unit tests that must pass! Be sure to run meteor yarn test to run them.

Remember the importance of making sure your code fits in well with the conventions used by the project.

Submitting Your Code

  1. Commit all your changes and push to your fork.
  2. DO NOT submit a pull request on the upstream repo! Just give me a link to your fork and I'll examine your work. Contact me at [email protected].

meteor-react-test's People

Contributors

ffxsam avatar nodexpertsdev avatar

Watchers

James Cloos 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.