Skip to content

High Level Analysis

Zoila Rodriguez edited this page Oct 10, 2023 · 19 revisions

Analysis Diagram

image

Figure 1. Revised and most up-to date analysis diagram.

Screenshot 2023-09-30 at 10 08 50 AM

Figure 2. First attempt of our high level analysis diagram.

Users

All of our users have a great passion for reading and their local communities. There are four major users we can identify:

  • Librarians
  • Avid readers/Book club member (either organizer or subscriber)
  • New York University students (subset of book club member).

For the most part, all users would have the same functionality of creating new book clubs and subscribing/unsubscribing to existing book clubs. However, the librarians would be viewed as administrators of the NYC public libraries on our application. As such, they would be able to update their libraries' information. Also, NYU students will be the only ones with access to the university libraries on our application. Users do not have to join our application with the intention of becoming a book club organizer but those who do create a book club on our application will be seen as the administrator of the club.

Epics

Account registration and management

A user should be able to create and manage an account for our application. The creation of an account will allow the user to interact with the libraries and book clubs. Without an account, a user would only be able to READ the library/book club information.

General User

  • As a general user, I want to be able to register for the application in order to interact with the rest of the features. Without an account, the user should only be able to view public libraries and book clubs.

Book Club Member

  • As a book club member, I want to be able to see all of my active subscriptions so that I may interact with them.
  • As a book club member, I want to be able to update my account information so that the application is able to notify me. If it is an email change, then revalidate. If the password is changed, then hash/salt.
  • As a book club member, I want to be able to view libraries’ information and book clubs without having an account.

Library Admin

  • As a library administrator, I want to be able to see all the book clubs associated with my library.

NYU Student

  • As an NYU student (a subset of book club member), I should be able to use my university email to access the university libraries on the application.

Library Information Management

The application should provide the detailed information about the NYC and NYU libraries available to our users. This information should include: library name, address, hours of operation, etc. Any user identified as a librarian should be able to update the library details and/or notify others of any changes.

Library Administrator

  • As a library administrator, I want to be able to view and update my library’s details. To prevent accidental and unwanted updates, I would need to key in my password again for any changes made.

Book Club Member

  • As a book club member, I want to be able to view the details of the library I am interested in.

Book Club Organization

After creating an account, a user should be able to create a book club and/or interact (i.e. subscribe or unsubscribe) with already existing book clubs on our application.

Book Club Organizer (Subset of Club Member)

  • As a book club organizer, I want to be able to create a book club hosted at a particular library so that others can join. In order to post the book club, I must enter the book club name, description, meeting time, hosting library, and current book club pick.
  • As a book club organizer, I want to be able to update any field in the book club I am the administrator of so that others are kept up to date and informed. I should be able to update any or all of the attributes at a time.
  • As a book club organizer, I want to be able to delete a book club that I’m administrator of so that feeds are not noisy with inactive clubs.
  • As a book club organizer, I want to be able to assign administrative rights of a book club that I’m administrator of to another user (can be a non-subscriber).
  • As a book club organizer, I want to ensure that I would not be able to remove myself as the administrator of the book club if there are no other administrators.
  • As a book club organizer, I want to be able to view and update weekly/monthly book selections of my book club.
  • As a book club organizer, I would like the option to privatize my book club so that the book club information is not pulized to everyone on the application.

Book Club Member

  • As a book club member, I would like to see/read all available book clubs hosted at a particular library so that I can subscribe to any of the ones I find interesting.
  • As a book club member, I want to be able to accept or decline the assignment of the admin role of a book club. If I accept the role while I am not a current member, I will automatically be subscribed.
  • As a book club member, I want to be able to view my book clubs’ weekly/monthly pick.
  • As a book club member, I want to be able to subscribe to any book club of my choice so that I’m kept up to date with the club.
  • As a book club member, I want to be able to unsubscribe from any book club that I’m no longer interested in so that my feed is not cluttered with notifications that don’t pertain to me.
  • As a book club member, I would like to turn off information notifications for specific clubs so that I am not disturbed.
  • As a book club member, I would like to see the archived list of previous book club picks.

Library Administrator

  • As a library administrator, I want to be able to see all the book clubs associated with my library.
  • As a library administrator, I want to be able to modify or delete any book club associated with my library so that they are in line with the library’s regulations.

NYU Student

  • As a NYU student, I want to be able to create a book club hosted at any one of the NYU libraries.

Connecting Users

After creating an account, a user should be able to socialize on our application. The detailed features will make our application stand out and more immersive.

Library Administrator

  • As a library administrator, I would like to notify all book clubs hosted at the library of any one time change in hours of operation. In the event of an emergency or inclement weather, the clubs would not have to meet at the library.
  • As a librarian, I want to be able to broadcast a message to all book club groups of an important message.

Book Club Organizer (Subset of Club Member)

  • As a book club organizer, I would like to notify the club of any meeting cancellation. In the event of an emergency or inclement weather, the club would not have to meet at the library.
  • As a book club organizer, I want to be able to make chat-wide announcements to all subscribers.
  • As a book club organizer, I want to be able to remove members from the chat if they are not adhering to the guidelines.

Book Club Member

  • As a book club member, I want to be notified of my book clubs’ weekly/monthly selections every time it is updated.
  • As a book club member, I want to be able to connect to other members of the same book club via a group chat.
Clone this wiki locally