SCSB GitHub Projects

GITHub Descriptions for “Research Collections and Preservation Consortium (ReCAP)”

Repositories

DOCKER

Docker is an open-source software platform to create, deploy and manage virtualized application containers on a common operating system (OS). The SCSB application runs with docker containers running up and dependent on each other. Each container provides a micro-service project which are built as separate images. All the micro services which are used are given under respective modules.

To build and run each micro-service, a docker build and docker run command must be used.

To build a docker image :
docker build -t {image-name} . (current directory)
To run a docker container :
docker run --name {container-name} -v /path-to-local-directory:/path-to-container-directory -p {localhost port}:{container port} -d {image-name}

The images available under this Docker repository are :

1.scsb-base
2.scsb-mysql
3.scsb-solr-base
4.scsb-solr-server
5.scsb-cas
6.scsb-activemq-base
7.scsb-activemq
8.scsb-zookeeper-base
9.scsb-zookeeper
10.scsb
11.scsb-solr-client
12.scsb-circ
13.scsb-etl
14.scsb-shiro
15.scsb-ui
16.scsb-batch-scheduler
17.jenkins
18.scsb-javadocs

scsb-log4j

scsb-persistence -- This is no longer used.

SCSB

GitHub Link - SCSB

SCSB application acts as a micro-service which exposes the core functionality API’s used in the application.Each API call made in SCSB application reaches this micro-service application as a starting point and this micro-service decides which micro-service(scsb-circ,scsb-solr-client,scsb-etl,scsb-batch-scheduler) to be redirected to make the received request complete successfully.

To run this micro-service :

Goto the folder location
cd /docker/scsb/
To build a SCSB image
docker build -t scsb .


To run a SCSB container
docker run --name scsb -v /data:/recap-vol -p 9093:9093 -d scsb

API's are exposed through Swagger User Interface

The exposed API's are documented in the confluence : Restful Web Services


SCSB-UI

GitHub Link - SCSB-UI

The SCSB UI project houses the source code relevant to the Graphical User Interface (GUI) of SCSB. The SCSB UI was built with Spring Thymeleaf and other JavaScript frameworks to ensure seamless integration with the other SCSB components. The GUI is accessible to staff in the warehouse and library after successfully authenticating through their institutional credentials. The users are authorized as per their roles and allowed access to the different modules of the application, viz. Search Items, Collection Maintenance, Request Creation, Report Generation, User Management and Schedule Batch Jobs.

The functionalities provided are documented in the confluence under User Guide :


SCSB-CIRC

GitHub Link - SCSB-CIRC

SCSB-CIRC is a micro-service application which provides the core functionalities for Request Scenarios.All the request received are handled and process in this application.Other major process handled are Submit Collection... (in progress)Bulk Request , Accession Reconciliation process ,Status Reconciliation process,Daily Reconciliation process.All the SIP call to ILS and GFA call are made through this application.

All the major functionalities are documented in the Confluence.

SCSB-SOLR-CLIENT

GitHub Link - SCSB-SOLR-CLIENT

SCSB-SOLR-CLIENT is a micro-service application which is mainly used for indexing data to Solr-server.This application’s major functionalities are Accession, Accession Batch, Matching AlgorithmTransfer Holdings and ItemsDeaccessionSolr Indexing Guide, Generation reports.

The major functionalities are documented in the Confluence.

SCSB-ETL

GitHub Link - SCSB-ETL

SCSB-ETL is a micro-service application which provides the major functionality for loading data into the database and exporting data as Incremental,Full or Deleted data dumps.

The documentation for ETL guide using User Interface can be found in ETL Guide.

The documentation for the exposed API's can be found in Export Data Dump (through API)Export Data DumpExport Data Dump (with To date).

SCSB-CAS

GitHub Link - SCSB-CAS

CAS : The Central Authentication Service (CAS) is a single sign-on protocol for the web. Its purpose is to permit a user to access multiple applications while providing their credentials (such as userid and password) only once. It also allows web applications to authenticate users without gaining access to a user's security credentials, such as a password. The name CAS also refers to a software package that implements this protocol.

SCSB-CAS is a micro-service application which acts as authentication for SCSB application from HTC endpoint.

SCSB-BATCH-SCHEDULER

GitHub Link - SCSB-BATCH-SCHEDULER

Spring-batch-job : Spring Batch is a processing framework designed for robust and parallel execution of multiple job. It follows the standard batch architecture in which a job repository takes care of scheduling and interacting with the job

SCSB-BATCH-SCHEDULER is a micro-service application where all the batch jobs in SCSB application are configured and managed here.

The documentation for using batch scheduler in the User Interface is documented here Scheduled Batch Jobs.

SCSB-SHIRO

GitHub Link - SCSB-SHIRO

Apache Shiro : Apache Shiro is an open source software security framework that performs authentication, authorisation, cryptography and session management. Shiro has been designed to be an intuitive and easy-to-use framework while still providing robust security features.

The SCSB Shiro project contains code and dependencies that is required by the Apache Shiro framework. Apache Shiro is an open source software security framework that performs authentication, authorization and session management. This is implemented as a micro-service so that all security related aspects are modular and kept independent of the application. SCSB Shiro ensures authenticating an user, authorizing them with access for the various functionalities and maintaining the user session.


CUCUMBER-AUTOMATION

GitHub Link - CUCUMBER-AUTOMATION

CUCUMBER : Cucumber is a software tool used by computer programmers for testing other software.It runs automated acceptance tests written in a behaviour-driven development (BDD) style.Central to the Cucumber BDD approach is its plain language parser called Gherkin. It allows expected software behaviours to be specified in a logical language that customers can understand. As such, Cucumber allows the execution of feature documentation written in business-facing text.

CUCUMBER-AUTOMATION is a scsb-application where most of the functionalities in SCSB are automated and tested.