epeolatry_front_end's People
epeolatry_front_end's Issues
Book Show: Reader can remove a book from their library
If a book is in the reader’s library, the reader will see a button to “Remove from Library.” Clicking this button will remove the book from the reader’s library in the Google Books DB.
- Removing a book from the reader’s library should destroy words added for that book
- Upon deleting the book, the user is redirected to the books index page, where they no longer see this book listed
FE will ping:
DELETE (remove a book from library) / epeolatry API
BE will need:
DELETE (remove a book from library) / Google Books API
Book Show: If the book is in my library: Shows book info, book’s word list + add word action
If a book is already in the reader’s library, the page renders the book details, any words associated with the book, and a button to lookup a word from that book.
Book’s word list:
- Word, which links to word show page
- Words are shown in order of time added to the list, with most recently added words at the top
Book details:
- Title
- Author
- Genre
- Summary
- Shelf/status
- [Date started?]
- [Date completed?]
FE will ping:
GET (book’s word list) / epeolatry API
GET (get book details and status if in library) / epeolatry API
BE will need:
GET (check if book is in library) / Google Books API
GET (get book details) / Google Books API
Book Show: Reader can look up a word for a book in their library
If a book is in the reader’s library, the reader can search for a word. On submitting the word search, the search results are shown on the Book Show page (in a “Search Results” section separate from the book’s word list section).
The “Search Results” section shows the first [1 word] resulting from the search, and each word links to that word’s show page.
FE will ping:
GET (lookup word in dictionary) / epeolatry API
BE will need:
GET (lookup word in dictionary) / dictionary API
Word Index: Shows all of the reader’s words as links to the word’s show page
When a reader is on the Word Index page, they see all of their words listed out in order of most recently added.
- Each word is a link to that word’s Word Show page
- Word attributes shown: date added, book title as link to book show page
- Index page is paginated for multiple words with 20 as their default, reader can adjust for how many they want to see
FE will ping:
GET (reader’s words) / epeolatry API
Word Show Page: Reader can add a word to a book’s word list from the word show page
Upon clicking the “Save Word” button, the user is redirected to the book’s show page where they see that word now listed in the book’s word list (and any search results from the initial word search are cleared)
FE will ping:
POST (add word to the book’s word list) / epeolatry API
Word Show Page: Reader can see the definition of a word on the word’s show page
The word show page includes:
- The book title from which this word was searched
- The definition of the word
- A button to “Save this word to ’s words”
- Additional word details, e.g.:
- phonetic pronunciation
- link to pronunciation
- example
- part of speech
- synonyms
- language
FE will ping:
GET (lookup word in dictionary) / epeolatry API
BE will need:
GET (lookup word in dictionary) / dictionary API
Word Index: Shows an option to filter reader’s words by an attribute
When a reader is on the Word Index page and they see all of their words, they see on option to filter their list of words by an attribute
- Book’s word list it’s on as link to book’s show page
- Date added
- Alphabetically
- Order of difficulty?
FE will ping:
GET (reader’s words with filters applied) / epeolatry API
Word Index/Word Show: Sees an error when the book they’d added a word for is no longer in their library
Sad path: If a reader removes a book from their library outside of Epeolatry, then when the user visits the Word Index or Word Show pages, the “Book” attribute shows an error that “This word was added for a book that is no longer in your library”
Books Index: Shows all of the logged in reader’s books
- Book’s Attributes: Title, author, shelf
- Title links to book show page
- Should be paginated
FE will ping: GET (reader’s books) / epeolatry API
BE will need to ping: GET (reader’s books) / Google Books API
Books Index: Reader can filter books by any attribute
- Book’s Attributes: Title, author, shelf
- Title links to book show page
- Should be paginated
FE will ping: GET (reader’s books with filter applied) / epeolatry API
BE will need to ping: GET (reader’s books) / Google Books API
Dashboard shows word statistics
- Average words saved per book
- Most frequently looked up word
- Longest word looked up
GET (reader’s word stats) / Epeolatry API
Book Show: If the book is not in my library: Shows book info + add book to library action
If a book is not yet in the reader’s library, the page renders the book details and a button to add the book to a shelf.
Book details:
- Title
- Author
- Genre
- Summary
- [Date started?]
- [Date completed?]
Upon clicking the ‘Add Book’ button and selecting a shelf (or defaulting to a specific shelf, TBD based on BE team research), the reader is returned to a refreshed Book Show page where they see options to add a word to the book, and no longer see the option to ‘Add Book’ to a shelf.
FE will ping: GET (get book details and status if in library) / epeolatry API
BE will need:
GET (check if book is in library) / google books API
GET (get book details) / google books API
[added word] Word Show Page: Reader can see the definition of a word on the word’s show page
For a word that is already in the reader's glossary:
The word show page includes:
The book title(s) under which this book is saved
The definition of the word
Additional word details
- phonetic pronunciation
- link to pronunciation
- example
- part of speech
- synonyms
FE will ping:
GET (show word) / epeolatry API
Books Index: Reader sees a search bar to search for a new book
- Search output is shown in a “Search Results” section (separate from the book index)
- Search result title links to book show page
- Search results should be paginated
FE will ping: GET (book search results) / epeolatry API
BE will need: GET (book search results) / Google Books API
User logs in via Google OAuth
- Users must have a Google Account to use Epeolatry
- Reader is directed to dashboard on login
Dashboard shows welcome message and links to key pages
- Dashboard shows a welcome message
- Logged in reader sees log-out button
- Dashboard has link to Books Index
- Dashboard has link to Words Index
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.