Technical Design Document - neu-seattle-cs5500-fall18/book-library-web-service-6666 GitHub Wiki

Programming Language

Python

Web Services

Tool(s)

Flask

Web Service APIs:

  • Add book (bookId)
  • Remove book (bookId)
  • Update book (bookID, update)
  • Find books by author (authorId)
  • Find books by date range (start date, end date)
  • Find books by genre (genre)
  • Create lists (listName)
  • Group book into a list (bookIds, listId)
  • Advanced search(searchOptions)
  • Create loan record(bookId, loanerId, loan date)
  • Check book availability
  • Remind remind loaner (bookId, loanerId, return date)
  • Add notes for book (bookId, notes)
  • Remove notes for book (bookId)
  • Update notes for book (bookId, notes)
  • Get all loan records() -- loan records

Data Storage

Tools: PostgreSQL + SQLAlchemy

Tables:

  • Books
  • Authors
  • Subject/Genre
  • Personal Book List
  • Loaners
  • Loan Records
  • Database APIs:
  • Books CRUD
  • Loaners CRUD
  • Loan Records CRUD

Next Steps

  • Get familiar with Flask and SQLAlchemy
  • Create UML/ER diagrams for database models