Skip to content

alexdietz1988/BookDiary

Repository files navigation

Table of Contents
  1. About the Project
  2. Idea
  3. Team
  4. Built With
  5. User Stories
  6. Roadmap
  7. ERD
  8. Screenshots

About the Project

BookDiary is a website where you can keep track of books you are interested in. You can add books to your library and mark whether they are books you've read, books you're currently reading or books you want to read. You can also add your own notes about each book and edit them any time.

Heroku Deployment

Idea

Inspired by Goodreads.com.

Key features:

  • Creating an account/login
  • Adding a book to the user's library
  • Add notes to a book
  • Having individual bookshelf pages based on reading status
  • User can only edit their own libraries

Improvements:

  • Hovering over covers adds animation
  • User's Home page displays multiple bookshelves with the most recently added books
  • User can add either number of pages or audiobook hours to the book info, depending on whether they are reading or listening

Team

Built With

  • HTML
  • CSS
  • Javascript
  • Bootstrap
  • Node.js
  • Express
  • MongoDB
  • Mongoose

User Stories

  • As a user, I should be able to register.
  • As a user, I should be able to log in.
  • As a user, I should be able to add a book to my library with a title, author, genre, cover image, year.
  • As a user, I should be able to set a book status - currently reading, read, want-to-read.
  • As a user, I should be able to edit/update a book status - currently reading, read, want-to-read.
  • As a user, I should be able to add notes to a book in my library.
  • As a user, I should be able to have a home button with my library.
  • As a user, I should be able to have a home page with the bookshelves of "currently reading", "read", "want-to-read".
  • As a user, I should be able to have a page with a full updated information on a book.

Roadmap

  • Register page

  • Login page

  • New book

  • Edit a book

  • Show page for a book

  • Home page that links to "currently reading", "read", "want-to-read", "new book"

  • Styling

  • (stretch) Auth

  • (stretch) Home page that includes list of "currently reading", "read", "want-to-read", "new book"

  • (stretch) Make a book public and allow any user to be able to add a review on it

  • (stretch) Recommendations by genre

  • (stretch) Toggle between list view and cover view, rather than displaying both on the same page

Our website is currently organized so that books belong exclusively to particular users (one-to-many relationship between users and books). A different way of organizing website would be to have books accessible to any user (many-to-many relationship between users and books), this would require an additional database model capturing user-specific information about particular books, e.g. whether a user has read a particular book. This way of organizing the website would allow a user to add and see public reviews of books and add books from the public database to their own library without having to add book details. It would also make possible other features such as book recommendations based on genre or author.

ERD

image

Screenshots

image image

About

A Goodreads-style app where users can keep track of books they're interested in.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors