BREMS-Library-App
BREMS-Library-App copied to clipboard
Book Reserve Management System. An easy way to reserve your favourite books. Project successfully finished.
BREMS - Book Reserve Management System
About the contributors
- Blay González, Sergio
- Github account.
- Email: [email protected]
- Cervera Saldaña, Annhelen
- Github account.
- Email: [email protected]
- Córdova Proaño, Jorge Jherel
- Github account.
- Email: [email protected]
- Vázquez Losada, Carlos
- Github account.
- Email: [email protected]
About this web application
Online management of resources (books and magazines) in a library. Each resource has a copy which a reader can reserve. This resource will be taken by a reader for 30 days (in case of a books) and for 2 days (in case of magazines). An administrator will manage the resource loans, resource stock and resource copies. Web functionality deppends on type of user (administrator o reader). Link to explicative video about BREMS (spanish).
Users: Readers
A reader is an user who can reserve a resource through BREMS app. Those functionalities are public:
- List of resources.
- Search resources using a title, author y/o resource name.
- Reserve a resource.
- Postpone return date.
- List of resources to be returned.
- List of fines.
- Sing-up.
Users: Administrator
An administrator is an user who can manage resource data and the loans. Those functionalities are private:
- Manage resources (books and magazines).
- Modify resources.
- Create new resources.
- Delete resources.
- Manage copies.
- Manage loans.
- Manage fines.
- Manage users (readers and others administrators).
- Create new users.
- Unsubscribe a user.
- Modify user's information.
Entities of BREMS' App
In our App, we use these entities: User, fine, resource, loan and copy.
| Entity | Description | Secondary entities |
|---|---|---|
| User | Reader and Administrator. | - |
| Resource | Book or Magazine which can be reserve by a reader. | ResourceType and genre |
| Fine | Will be applied if a reader returns a resource out of date. | - |
| Loan | Action through a reader can reserve a copy. | ActionType and Token |
| Copy | Limited number of resource number which can be reserved by a reader. | - |
Tasks management
We use Trello and SCRUM because we think is the best way to work in a group.
App views
Backend contains views (each page which makes this website useful). As a library, the home page contains a list of all books and magazines avaible. This design is originally made by @annyCS.
Index page

About page

Contact page

Search page

Profile page

Admin page

Admin resources page
Resources general view

Edit resource page

Add resource page

Admin loans page
Loans general view

Add loans page

Admin users page
Users general view

Add user page

Backend
Running BREMS Backend
You must have MySQL installed, your conection credentials must be "root" and "1234" (user and pass) and you need to have a MySQL Schema called "BREMS".
- Download this repository (or clone it).
- Navigate to "backend/target".
- Using your shell, execute
java -jar appSpring-0.0.1.jar. - Using Google Chrome (any browser can be used) navigate to "https://localhost:8443".
- Enjoy it!
Backend diagrams
Backend controllers class diagrams
AdminController and services relationships

MainController and services relationships

ResourceController and services relationships

SearchController and services relationships

UserController and services relationships

Backend services class diagrams
LogicService class diagrams
LogicService and services relationships

LogicService and controllers relationships

App rest controllers class diagrams
ActionRestController and services relationships

FineRestController and services relationships

GenreRestController and services relationships

ResourceCopyRestController and services relationships

ResourceRestController and services relationships

ResourceTypeRestController and services relationships

UserRestController and services relationships

Frontend
Running BREMS Frontend
- Download this repository (or clone it).
- Navigate to "frontend".
- Using your shell, execute
npm installand thenng serve. - Using Google Chrome (any browser can be used) navigate to "http://localhost:4200".
- Enjoy it!
Frontend diagrams
Frontend services
ActionService

FileService

FineService

GenreService

ResourceCopyService

ResourceService

SessionService

UserService

Public module
Public component

Public module

Public routing module

HomeComponent

ProfileComponent

Admin module
Admin component

Admin module

Admin routing module

DashboardComponent

ManageFinesComponent

ManageLoansComponent

ManageResourcesComponent

ManageUsersComponent
