A library online platform for borrowing books and administration users and books
This application has been developed as part a school module for programming web application learning proposed by the University Bremerhaven for its computer science students.
The knowledge in Java EE, JavaServer Faces, Contexts and Dependency Injection and Hibernate has been improved and was necessary for the realization of this project.
For running this app it is necessary to have at least Apache Maven and Docker, both installed on your device. After that just have to :
- clone this repository
git clone https://github.com/fantozor/subh.git - run the script
./buildAndRun.sh
-
/beans :here are all backend Beans classes implemented. The loginBean is present in almost all others beans as ManagedProperty, with scope SessionScoped and carry the current user. -
/dataAccessObjects :here are all classes need for transactions on the database and the hibernate calls. -
/exceptions :include own exceptions thrown by the registration . -
/models :include all POJO classes used by hibernate for tables generating. Some data will added into the tables the custom sql fileimport.sql. -
/models.enums :here are enum classes for Category of books and user's role. -
/utilities :Validators and EncryptionsHelper to encrypt the password using a random salt before saving in the database.
- Hibernate: Open-Source-Persistence- and ORM-Framework for Java application. Alternative Eclipse-Link
- MySQL: an open source database management system developed by Oracle. Alternative H2
- Primefaces: Open source framework for JavaServer Faces featuring over 100 components, touch optimized mobilekit, client side validation, theme engine and more.
- Bootsfaces: JSF framework based on Bootstrap 3 and jQuery UI.
can edit his profilcan borrow a certain amoung of books depends on his rolecan give back borrowed books
can list all userscan list all bookscan add new books in the libraryedit/update existing bookscan delete bookscan change role of other userhave the same action like a normal user too