/udacity-myreads

My implementation for Udacity MyReads Project on React Nanodegree

Primary LanguageJavaScript

Udacity MyReads Build Status

This project is an implementation for the final assessment project for Udacity's React Fundamentals course.

It has a backend server to store books and shelves provided by Udacity reactnd-project-myreads-starter.

TL;DR

or...

  • Clone the project, and use the following steps:

    • Install all project dependencies with npm install
    • Start the development server with npm start

Important

The backend API uses a fixed set of cached search results and is limited to a particular set of search terms, which can be found in SEARCH_TERMS.md.

Requirements

The requirements for this assessment are listed on MyReads: Project Specifications:

Application Setup

  • Is the application easy to install and start?
  • Does the application include README with clear installation and launch instructions?

Main Page

  • Does the main page show three categories (or “bookshelves”) for books (currently reading, want to read, and read)?
  • Does the main page allow users to move books between shelves?
  • Does information persist between page refreshes?

Search Page

  • Does the search page have a search input that lets users search for books?
  • Do the search results allow a user to categorize a book as “currently reading”, “want to read”, or “read”?
  • Do selections made on the search page show up on the main page?

Routing

  • Does the main page link to the search page?
  • Does the search page link back to the main page?

Code Functionality

  • Does the project code handle state management appropriately?
  • Is JSX formatted properly?

Extras

The following requirements were not required, but were added to the project:

  • Continuous Integration using Travis
  • Continuous Delivery to Github Pages
  • PropTypes
  • Image size detection
  • No-image replacement
  • Code linter
  • Toast notifications
  • Tests (partly)
  • Empty states
  • Loading
  • Content Placeholder (shimmed effect)
  • Style improvements (tag, tag selector, animations)