The description and metadata module for Goodreads books. Contains a lot of book info, as well as a few interactive elements (ratings, wishlist dropdown)
- Usage
- Custom Config - essential to getting the service running
- Requirements
- API Endpoint
For setup, please follow this pattern:
npm install
npm run seed
- runs seeding scriptnpm run build
- compiles webpack intobundle.js
npm start
- Navigate to localhost:3004
A couple elements are still hardcoded into the service, given time constraints during FEC. Two things to watch out for are:
- Image load - currently, in
image.jsx
, the image files are hardcoded to reference an S3 folder. - Fetch book - in
index.jsx
, the book info is currently hardcoded as afetch
to the AWS service that was previously running
An nvmrc
file is included if using nvm.
- Node 10.15.3
Request:
GET books/:id
Content-type: application/json
Response:
{
_id: unique key,
title: string,
author: array,
description: string,
ratings: {
five: number,
four: number,
three: number,
two: number,
one: number
},
reviews: number,
links: {
kindle: string,
amazon: string,
stores: {
audible: string,
barnesAndNoble: string,
walmart: string,
apple: string,
google: string,
abebooks: string,
bookDesository: string,
indigo: string,
alibris: string,
betterWorldBooks: string,
indieBound: string
}
worldcat: string
},
type: string,
pages: number,
publishDate: date,
publisher: string,
metadata: {
originalTitle: string,
isbn: number,
isbn13: number,
asin: string,
language: string,
series: {
name: string,
url: string
}
}
}
From within the root directory:
npm install -g webpack
npm install