A complete suite of book lending system with role based features : (Check Snapshots)
-
Admin
- Add books with isbn validation and inventory creation with unique id & generating downloadable (pdf) barcode.
- Search, update and delete books or inventory.
- Add, search, update and delete users.
- Search orders based on order id, user id or book id.
- Mark order as collected.
- Mark order as returned and generate downloadable invoice with late fees as applicable.
- Search user's order history.
- Search orders that are overdue for return by user id or book id.
-
User
- Order a new book based on inventory availability.
- Search self orders and order history.
- Filter orders based on return overdue.
-
All
- Authentication with Login and Logout.
- Role based authorization and views (front-end).
- Update self account details & change password.
Java 11
Spring-Boot-2.3.4.RELEASE
Spring-Cloud-Hoxton.SR8
Spring-Security
Spring Data JPA
Vue JS 2
Vuetify 2.4
Docker
Docker-Compose
JUnit 5
- With Docker and Docker Compose Installed
docker compose down
docker compose build
docker compose up
-------------------------
or run the start.sh file
-------------------------
./start.sh
- Without Docker (
npm
&maven
required locally)
For Backend
./build.sh
Open terminal to './server' && mvn spring-boot:run
---------------------------------------------
Once ServerApplication.java is up & running
---------------------------------------------
Open terminal to './user' && mvn spring-boot:run
Open terminal to './book' && mvn spring-boot:run
Open terminal to './auth' && mvn spring-boot:run
Open terminal to './order' && mvn spring-boot:run
Open terminal to './inventory' && mvn spring-boot:run
Open terminal to './client-backend' && mvn spring-boot:run
For Frontend
Open terminal to './client-frontend' && npm run serve
Application | Port |
---|---|
auth | 8081 |
book | 8082 |
inventory | 8083 |
order | 8084 |
user | 8085 |
client-backend | 8086 |
server | 8761 |
client-frontend | 8080 |