{"id":16859045,"url":"https://github.com/jdmedlock/myreads","last_synced_at":"2025-08-08T10:33:26.995Z","repository":{"id":125189697,"uuid":"147253971","full_name":"jdmedlock/myreads","owner":"jdmedlock","description":"Udacity Front End Web Developer Nanodegree Course - React","archived":false,"fork":false,"pushed_at":"2018-09-11T00:39:49.000Z","size":279,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"development","last_synced_at":"2025-06-04T22:17:04.318Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdmedlock.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-03T21:11:24.000Z","updated_at":"2018-09-11T00:38:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"3aa83bd4-4505-4daf-8a2d-f1f1260c2113","html_url":"https://github.com/jdmedlock/myreads","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jdmedlock/myreads","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmedlock%2Fmyreads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmedlock%2Fmyreads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmedlock%2Fmyreads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmedlock%2Fmyreads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdmedlock","download_url":"https://codeload.github.com/jdmedlock/myreads/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmedlock%2Fmyreads/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269408951,"owners_count":24412133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T14:16:01.978Z","updated_at":"2025-08-08T10:33:26.974Z","avatar_url":"https://github.com/jdmedlock.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MyReads Project\n\n[![restaurantreviews last commit](https://img.shields.io/github/last-commit/google/skia.svg)](https://github.com/jdmedlock/myreads)\n\u003cbr/\u003e\n[![Packagist](https://img.shields.io/packagist/l/doctrine/orm.svg)](https://github.com/jdmedlock/myreads/)\n\n## Table of Contents\n\n* [Overview](#overview)\n* [Usage](#usage)\n* [Dependencies](#dependencies)\n* [Application Structure](#application-structure)\n* [Change Log](#change-log)\n* [Contributing](#contributing)\n* [Authors](#authors)\n* [License](#license)\n\n## Overview\n\nThe MyReads project was created as part of the Web Programming with\nJavascript section of the [Udacity Front-End Web Developer Nanodegree Program](https://www.udacity.com/course/front-end-web-developer-nanodegree--nd001). The\npurpose of this assignment is to demonstrate and solidify a basic\nunderstanding of React from the course lessons.\n\nYou can find the project instructions here --\u003e[Project Specification](https://jdmedlock.github.io/myreads/PROJECT_STARTER.md).\n\n## Usage\n\n### UI Features\n\nThe requirements for this project are defined by he [Udacity Rubric](https://review.udacity.com/#!/rubrics/918/view). However, the main requirements\nfor the main page are:\n\n- The main page shows 3 shelves for books. Each book is shown on the correct\nshelf, along with its title and author(s).\n- The main page shows a control that allows users to move books between shelves.\nThe control should be tied to each book instance. The functionality of moving a\nbook to a\ndifferent shelf works correctly.\n- When the browser is refreshed, the same information is displayed on the page.\n- The main page contains a link to the search page. When the link is clicked, \nthe search page is displayed and the URL in the browser’s address bar is /search.\n- Bookshelf names are suffixed with a count of the number of books in contained\nin that shelf.\n\nThis search page has these requirements:\n\n- The search page has a search input field.\n- The search page behaves correctly:\n   - As the user types into the search field, books that match the query are\n   displayed on the page, along with their titles and author(s). You can use\n   throttle/debounce but are not required to do so.\n   - Search results are not shown when all of the text is deleted out of the\n   search input box.\n   - Invalid queries are handled and prior search results are not shown.\n   - The search works correctly when a book does not have a thumbnail or an\n   author. (To test this, try searching for \"poetry\" and \"biography\").\n   - The user is able to search for multiple words, such as “artificial\n   intelligence”.\n- Search results on the search page allow the user to select “currently\nreading”, “want to read”, or “read” to place the book in a certain shelf.\n- If a book is assigned to a shelf on the main page and that book appears on\nthe search page, the correct shelf should be selected on the search page. If\nthat book's shelf is changed on the search page, that change should be\nreflected on the main page as well. The option \"None\" should be selected if a\nbook has not been assigned to a shelf.\n- When an item is categorized on the search page and the user navigates to the\nmain page, it appears on that shelf in the main page.\n- The search page contains a link to the main page. When the link is clicked,\nthe main page is displayed and the URL in the browser’s address bar is /.\n\n### Starting the App\n\nTo start the application simply run `npm run start` or `yarn start` from the\ncommand line to\nstart the application environment. The application will automatically open a\nnew tab in your browser with the url `localhost:3000`.\n\n## Dependencies\n\nThis app has the following dependencies\n\n| Module/Library | Environment | Description | Related Files |\n|:---------------|:------------|:------------|:--------------|\n| Lodash         | Runtime     | _debounce text input | N/a  |\n| NPM            | Development | Package manager | package.json |\n| Prop-Types     | Runtime     | Type checking for props | N/a |\n| React          | Runtime     | UI Library  | N/a           |\n| React-Router   | Runtime     | Declarative routing for React | N/a |\n| React-Scripts  | Runtime     | scripts and configuration used by Create React App | N/a |\n\n## Application Structure\n\nThe component structure of the MyReads application is shown in the following\ndiagram.\n\n![MyReads Component Structure](https://github.com/jdmedlock/myreads/blob/development/docs/MyReads%20Component%20Structure.png)\n\n## Change Log\n\nFor more information see [Change Log](https://github.com/jdmedlock/myreads/blob/development/CHANGELOG.md)\n\n## Contributing\n\nSee [Contributing](https://github.com/jdmedlock/myreads/blob/development/CONTRIBUTING.md)\nand our [Collaborator Guide](https://github.com/jdmedlock/myreads/blob/development/COLLABORATOR_GUIDE.md).\n\n## Authors\n\nDevelopers on this project can be found on the [Contributors](https://github.com/jdmedlock/myreads/graphs/contributors) page of this repo.\n\n## License\n\n[MIT](https://tldrlegal.com/license/mit-license)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdmedlock%2Fmyreads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdmedlock%2Fmyreads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdmedlock%2Fmyreads/lists"}