Skip to content

Latest commit

 

History

History
34 lines (26 loc) · 1.25 KB

File metadata and controls

34 lines (26 loc) · 1.25 KB

BookLibrary

A project using .NET Core 2.0, DDD, CQRS, Event Sourcing and RabbitMQ

System Architecture

System Architecture

EDA

EDA

Description

There are user service, book inventory service and book rental service in the system.

User Service

  • There are two role in the system, Admin User and Customer.
  • Admin user can add/edit/update/delete customer information.
  • If assigned customer has unreturned books, admin user can't remove it in the system.
  • Admin user and customer can update their information(FirstName, LastName, MiddleName).
  • Admin user and customer can update their password.

Book Inventory Service

  • Admin user can add/edit/delete book.
  • Admin user can bulk import book inventory.
  • Book are the following fields
    • Book Name(Required)
    • ISBN(Required, Unique)
    • Description
    • IssuedDate(Required)
  • There are two book inventory statuses in the system, In/Out.

Book Rental Service

  • If one book inventory has been rented by one customer, it can't be rented by others.
  • One customer can rent 3 books at most.