saurabhsjoshi / library-management

Microservices based approach for management of a library system. Project for COMP 5104/CSI 5134

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Library Management

Project for COMP 5104/CSI 5134

Description

A microservices based application that allows users to manage a library. It consists of the following services:

  1. inventory-svc The service that manages inventory of books
  2. user-svc User management service which also does the authentication/authorization
  3. card-svc Service to allow users to order physical library cards (WIP)
  4. reservation-svc Service that manages user reservations
  5. notification-svc Microservice that reports any reservations that are due soon
  6. nginx-prox Nginx reverse proxy that acts as the gateway for clients running outside the cluster

Testing

Two approaches have been explored as part of testing:

  1. Cucumber based acceptance tests based on RAATA (Reusable Automated Acceptance Testing Architecture)
  2. Dynamically generated test cases using FPTS (Framework for Performance Test Specification)

Architecture

Project Architecture

Service Dependency Graph

Service Dependency Graph (SDG)

About

Microservices based approach for management of a library system. Project for COMP 5104/CSI 5134


Languages

Language:Java 93.5%Language:Gherkin 5.3%Language:Dockerfile 1.2%