All Projects → wkrzywiec → Library-Spring

wkrzywiec / Library-Spring

Licence: other
The library web application where you can borrow books. It's Spring MVC and Hibernate project.

Programming Languages

java
68154 projects - #9 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Library-Spring

Spring-Boot-2
Spring Boot 2.x examples
Stars: ✭ 33 (-54.79%)
Mutual labels:  spring-security, hibernate, spring-mvc, bootstrap-4
BusinessInfrastructurePlatformGroupVersion
A java web project based on Spring Boot using MySQL, Spring MVC, Hibernate, Spring Data JPA, Query DSL, Lombok, Logback, etc.
Stars: ✭ 90 (+23.29%)
Mutual labels:  lombok, spring-security, hibernate, spring-mvc
Spring Boot Enterprise Application Development
Spring Boot Enterprise Application Development.《Spring Boot 企业级应用开发实战》
Stars: ✭ 261 (+257.53%)
Mutual labels:  spring-security, hibernate, spring-mvc, bootstrap-4
Spring Framework Petclinic
A Spring Framework application based on JSP, Spring MVC, Spring Data JPA, Hibernate and JDBC
Stars: ✭ 251 (+243.84%)
Mutual labels:  tomcat, hibernate, spring-mvc
Library
Online Library Management. User can search, check in, checkout book. System adds fines automatically if the book is not checked in by due date
Stars: ✭ 27 (-63.01%)
Mutual labels:  hibernate, mysql-database, spring-mvc
spring-boot-shop-sample
My first web application using Spring Boot framework.
Stars: ✭ 66 (-9.59%)
Mutual labels:  spring-security, hibernate, spring-mvc
online-shopping
This is an online shopping project using Spring Boot,Spring web-flow, Spring Rest Services and Hibernate. In this project we also used Spring Security with java and annotation configuration
Stars: ✭ 34 (-53.42%)
Mutual labels:  spring-security, hibernate, spring-mvc
JavaEE
🔥⭐️👍框架(SSM/SSH)学习笔记
Stars: ✭ 33 (-54.79%)
Mutual labels:  hibernate, spring-mvc, spring-aop
springboot-rest-api-angularjs-https
REST API https with Spring Boot and Angular JS. Use MySQL, Hibernate and Spring Security.
Stars: ✭ 38 (-47.95%)
Mutual labels:  junit, spring-security, hibernate
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (+1057.53%)
Mutual labels:  lombok, hibernate, spring-mvc
Eshop Soa
EShop基于Dubbo实现SOA服务化拆分,并基于RocketMQ解决了分布式事务(新版SpringBootSOASkeleton)
Stars: ✭ 65 (-10.96%)
Mutual labels:  lombok, spring-security, spring-mvc
Curso Sistemas Web Com Spring Javascript Bootstrap
Stars: ✭ 74 (+1.37%)
Mutual labels:  tomcat, hibernate, spring-mvc
Tutorial
Spring Boot的例子,包含RESTful API, MVC, JMS, Cache, Mybatis, Cache, Websocket...
Stars: ✭ 215 (+194.52%)
Mutual labels:  junit, spring-security, spring-mvc
Angularjs Springmvc Sample Boot
A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap.
Stars: ✭ 309 (+323.29%)
Mutual labels:  lombok, hibernate, spring-mvc
alfresco-mvc
Glue between SpringMVC @controllers and Alfresco
Stars: ✭ 22 (-69.86%)
Mutual labels:  annotations, spring-mvc
spring4-hibernate5-example
Spring 4 and Hibernate 5 integration example using annotations.
Stars: ✭ 16 (-78.08%)
Mutual labels:  annotations, hibernate
Memex
Browser Extension to full-text search your browsing history & bookmarks.
Stars: ✭ 3,344 (+4480.82%)
Mutual labels:  annotations, full-text-search
Spring Boot Tutorial
100+ Spring Boot Articles, Tutorials, Video tutorials, Projects, Guides, Source code examples etc
Stars: ✭ 482 (+560.27%)
Mutual labels:  annotations, spring-security
S Mall Ssm
小小商城系统,JavaWEB项目,基于SSM,仿天猫页面,功能齐全,实现了自动处理关联查询的通用Mapper、抽象 BaseService 类、注解鉴权、参数注解校验等
Stars: ✭ 456 (+524.66%)
Mutual labels:  annotations, spring-mvc
Nubes
Annotation layer on top of Vert.x 3
Stars: ✭ 120 (+64.38%)
Mutual labels:  annotations, spring-mvc

Library Portal (in Spring)

Spring MVC web application for borrowing and managing library books inventory.

Description

This is my first Spring MVC project, which is an implementation of the library website. The application allow to borrow books (as a standard user), manage books inventory (add new ones, check availablity, etc.) and user account.

In Library Portal there are three types of users:

  • Readers - they can register themselves and borrow limited number of books.
  • Librarian - limited number of users that can add new books, borrow and return them. They can also confirm payments for penalties in case when a reader keeps a book to long.
  • Admin - person, who can add, edit and deactivate users.

Tools & Frameworks

The application is written using Spring MVC framework and Gradle (for external dependency managment).

Database & configuration

  • MySQL
  • Flyway (for data migration)
  • Gradle
  • Tomcat
  • Git
  • Google Book API

Backend technologies

  • Java
  • Spring MVC, Spring AOP, Spring Security
  • Hibernate ORM, Hibernate Validator, Hibenrate Search (Lucene)
  • Retrofit, JSON
  • JUnit
  • Project Lombok
  • Log4j2

Frontend technologies

  • HTML, CSS, JavaScript
  • JSP, JSTL
  • Bootstrap 4

How to run it?

Prerequisites: Eclipse IDE (with Gradle and Tomcat plugin installed), Tomcat, MySQL Community Edition

  1. Clone this git repository

$ git clone https://github.com/wkrzywiec/Library-Spring

  1. Open MySQL Workbench and type following SQL script:
	CREATE USER 'library-spring'@'localhost' IDENTIFIED BY 'library-spring';
	GRANT ALL PRIVILEGES ON  *.* TO 'library-spring'@'localhost';
	SET GLOBAL EVENT_SCHEDULER = ON;
  1. Go to a folder src/main/resources/properties, create googleAPI.properties file and add your Google API key (here are instructions how to obtain it) as follows:

googleAPI.key=[YOUR KEY HERE]

  1. Run tomcatRun Gradle task (or assign it to the Run button in Eclipse)

  2. The application will avaialble under URL http://localhost:8080/library-spring

Blog Posts

During work on this project I've parallely created some blog posts that describe my path to the working application. In those entires I've tried to explain some of key concepts, tools and frameworks that I used. Here is the list of all entries that was written so far:

Library Portal — Spring Project Overview

General

Configurations

Clean code

Features

User Log Events
Full-text Search
User registration
Add book to library

Deployment

Database Diagram

Big picture on the database relationships. Database

Detailed look on user entity relationships.Some of them, like user_password_toke are specific for Spring Security Forgot password feature.

User database

And book entity relationships.

User database

Finally user-book relationships, those tables stores book status information (like if it is reserved, borrowed, has penalties) or logs.

User-Book database

Screenshots

Login page

Main page, after login. The quote is taken from Random Quote API.

Admin can find and modify user profiles. Also there are possibility for him to see the logs of the user to check what changes were made on the user account.

Librarian can add new books to the library. New book data are fetched from Google Book API when search query is performed.

Every, regular user can register themself in the application.

After registration they can look for a book they want, see their details, and reserve it.

The librarian can borrow and return books. Also he can check book history to get the insight who and when make any action on a book.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].