Coder Social home page Coder Social logo

sujinleeme / reactnd-project-myreads Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 3.0 132 KB

The bookshelf App : A Project for @udacity's React React Nanodegree

Home Page: https://sujinlee-reactnd-project.firebaseapp.com/

License: MIT License

JavaScript 95.16% HTML 4.84%
react udacity-nanodegree react-nanodegree

reactnd-project-myreads's Introduction

reactnd-project-myreads

This is a myreads website project for Udacity’s React Nanodegree. The bookshelf app allows you to select and categorize books you have read, are currently reading, or want to read. The project emphasizes using React to build the application and provides an API server and client library that it should be persisted information as user’s interacts with the application.

Table of contents

Demo

For a demo, check out https://sujinlee-reactnd-project.firebaseapp.com/

Quick Start

To run locally:

git clone https://github.com/sujinleeme/reactnd-project-myreads.git
cd reactnd-project-myreads
npm install
npm start

To get started developing right away:

install all project dependencies with npm install
start the development server with npm start or yarn start

To build & deploy on firebase:

npm run build && npm run deploy
  • Add API keys to ./src/firebaseKey file, your .firebaseKey file should like something like this:
const firebaseKey = {
  apiKey: yours
  authDomain: yours,
  databaseURL: yours,
  projectId: yours,
  storageBucket: yours,
  messagingSenderId: yours
};
export default firebaseKey;

Documentation

What's included

Within the download you'll find the following directories and files:

|-- package.json
`-- src
    |-- App.js
    |-- App.test.js
    |-- Component
    |   |-- Autocomplete
    |   |   |-- Autocomplete.js
    |   |   |-- AutocompleteItem.js
    |   |   `-- SearchInput.js    
    |   |-- BookShelf
    |   |   |-- BookDetailButton.js
    |   |   |-- BookShelfContainer.js
    |   |   `-- BookShelfItem.js
    |   |-- MyBookList
    |   |   `-- MyBookList.js
    |   |-- Notification
    |   |   `-- Info.js
    |   `-- Search
    |       `-- SearchBooks.js
    |-- fire.js 
    |-- icons
    |-- index.css
    |-- index.js
    |-- style
    |   `-- App.css
    `-- utils
        |-- BooksAPI.js
        |-- ClickOutsideBehavior.js
        |-- Common.js
        `-- SearchKeywords.js

Functionality (requirements)

In this application, the main page(the root URL)displays a list of "shelves" (i.e. categories), each of which contains a number of books. The three shelves are:

  • Currently Reading
  • Want to Read
  • Read

When you select a different shelf, the book moves there. In search page(/search), you can get the list of books as by your input keywords.

Additional Functionality

React autocomplete component

Autocomplete, or word completion, is a feature that I created additionally, in which an application predicts the rest of a book category a user is typing. Here is the whitelisted short collection of available search terms in starter repo.

This feature isn't completed yet. Later, I will improve slightly as following #issue. (Aug. 31. 2017)

Hosting React app with Firebase hosting

The app runs on live Firebase server now.

Copyright and License

A Project starter code contributed by Udacity.

reactnd-project-myreads's People

Contributors

sujinleeme avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

reactnd-project-myreads's Issues

Update. Search Book Results Page

TODO

  • Install packages: prop-types, escape-string-regexp, sort-by

AJAX

  • Use Ajax with BooksAPI.get()to retrieve data
  • Get a list of book with search keywords

REDUCX

  • Connect React Router and set URL to /search

UI

  • If result is not found, render No Book Found words.

Autocomplete Keywords

  • mouse event :highlighting selected <li>
  • key event : highlighting selected <li>

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.