Udacity MyReads
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
- Try out the MyReads example running in https://williamthiago.github.io/udacity-myreads/
or...
-
Clone the project, and use the following steps:
- Install all project dependencies with
npm install
- Start the development server with
npm start
- Install all project dependencies with
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)