bcgov / jag-file-submission

Generic File Submission API
https://bcgov.github.io/jag-file-submission/#/
Apache License 2.0
6 stars 13 forks source link
docker jag java keycloak openshift reactjs redis redis-commander spring-boot

EFiling Hub

img Maintainability Test Coverage Cucumber Tests img

Summary

As a component of the Court Digital Transformation Strategy (CDTS), the eFiling hub uses modern, secure, scalable, microservice architecture and API first design to facilitate easy integration of other applications (i.e. Family Law Act application, Online Divorce Assistant, Representation Agreement app) with the current electronic filing services that are provisioned by the Court Services Online application.

The eFiling hub is a foundational component to enhance citizen experiences for the submission of court documents electronically, while streamlining backend court registry processes.

Project Structure

.
├── .github                                 # Contains GitHub Related sources
├── openshift                               # openshift templates and pipeline
├── src/                                    # application source files
│   ├── backend                             # backend applications
│   │   ├── efiling-api                     # efiling api
│   │   ├── libs                            # backend libraries
│   │   |   ├── efiling-bambora-api-client  # bamabora swagger for client generation
│   │   |   ├── efiling-bom                 # pom Bill Of Materials
│   │   |   ├── efiling-commons             # efiling soap client that submits packages to CSO
│   │   |   ├── efiling-cso-starter         # efiling soap client that contains all soap implementations
│   │   |   └── efiling-demo-starter        # efiling demo app that mocks all soap implementations
│   └── frontend                            # frontend applications
│       ├── efiling-frontend                # efiling frontend
│       └── efiling-demo                    # efiling demo app frontend
├── COMPLIANCE.yaml                         #
├── CONTRIBUTING.md                         #
├── LICENSE                                 # Apache License
└── README.md                               # This file.

Apps

Name Description Doc
backend all server side services README
efiling-api the main api for interating with the service README
efiling-cso-starter soap client implementations README
frontend all client side applications README
efiling-frontend the frontend for uploading documents README
efiling-demo the frontend for demo application README
cucumber-tests automated tests for frontend and backend README

Running the App

By default a demo mode is enabled.

First create a local .env at the root of the repository based off .env.template. Below are the variables that need to be configured to get the application running in demo mode.

Configure Keycloak

run

docker-compose up -d

login at http://localhost:3001 with bobross and changeme

To get started, access the front end application here use the following username bobross and password changeme

screen

List of services

efiling-frontend

React front end accessible at http://localhost:3000

efiling-demo

React front end demo app accessible at http://localhost:3001

efiling-api

Efiling Api check health at http://localhost:8080/actuator/health

redis

A redis instance exposed on port 6379

redis commander

A redis-commander instance to query redis accessible at http://localhost:8082

keycloak

A keycloak instance accessible at http://localhost:8081/auth

Spring starter update

When updating the spring starter ensure all hardcoded references are updated. [Code Climate] (https://github.com/bcgov/jag-file-submission/blob/master/.github/workflows/code-climate-coverage-aggregation.yml) [Docker File] (https://github.com/bcgov/jag-file-submission/blob/master/docker-compose.override.yml) [Cucumber] (https://github.com/bcgov/jag-file-submission/blob/master/.github/workflows/cucumber-tests.yml)

Github action