-
Notifications
You must be signed in to change notification settings - Fork 43
Home
devinleighsmith edited this page Aug 13, 2021
·
18 revisions
This is a public site. No private information should be stored here.
The PIMS technical architecture stack continues to grow as features and enhancements are added. The current components and integrations are listed below;
Subject | Description |
---|---|
Start Developing | How to get your local environment setup and start development |
GitHub Workflow | How we use git and GitHub |
Presently there are a few custom built tools to help with development. Both the Converter and Importer tools are generic and can be used outside of PSP.
Name | Description |
---|---|
Keycloak Sync | Synchronize Keycloak with PIMS |
In an effort to improve supporting PSP, watching performance and logs, the following tools have been implemented.
Name | Description |
---|---|
Performance | Monitor the performance of the whole solution in all environments with Prometheus and Grafana. |
Logging | Monitor all logs from the whole solution in all environments with Elasticsearch and Kibana. |
The following list provides a summary of all components that are fundamental in the development of PIMS.
Component | Technical Stack | Version | Description | |
---|---|---|---|---|
Application | ||||
Application | React/Node | 16.12.0/10 | UI for PIMS | |
API | .NET Core | 3.1 | RESTful Open API for data access | |
Database | MSSQL | 2019 | Inventory datasource | |
Authentication | KeyCloak | 7.3.0.GA | Authenticate users | |
GIS | ||||
Mapping | Leaflet | Source for UI maps | ||
Layers | Data BC | Mapping layers (i.e. parcel boundaries) | ||
Civic Address | Geocoder | Validating and fetching Civic Addresses | ||
PID | Geocoder | Fetching PIDs for validated addresses | ||
Notifications | ||||
CHES | Notification via Common Hosted Email Service | |||
Infrastructure | ||||
Source Code | GitHub | Source code repository | ||
GitHub Actions | GitHub | GitHub Actions ensure stability before allowing merge | ||
Cloud Hosting | OpenShift | 3.11 | Environment for solution | |
DevOps Hosting | OpenShift | 3.11 | CI/CD pipeline environment | |
DevOps Pipeline | Jenkins | 2.138.4 | CI/CD pipeline tooling | |
Containers | Docker | Container platform tooling | ||
Authentication | Open ID Connect | 2.0 | Identity membership managed by IDIR, BCeID and GitHub | |
EF Core | EntityFramework Core | 3.1.3 | A lightweight, extensible, open source and cross-platform version of the popular Entity Framework data access technology | |
Redux | React+Redux | 4.0.5 | A Predictable State Container for JS Apps | |
Formik | React+Formik | 2.1.4 | Build forms in React, without the tears | |
Typescript | Javascript | 3.7.3 | TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. |
There are a number of tools used to develop and analyze the PSP project.
Name | Description | |
---|---|---|
CodeCov | Improve your code review workflow and quality. Codecov provides highly integrated tools to group, merge, archive, and compare coverage reports. | |
UptimeRobot | Uptime Robot is all about helping you to keep your websites up | |
SonarQube | SonarQube empowers all developers to write cleaner and safer code. | |
Snyk | Automatically find, prioritize and fix vulnerabilities in your open source dependencies throughout your development process. | |
Jira | The #1 software development tool used by agile teams | |
Confluence | Confluence is your team workspace where knowledge and collaboration meet to achieve great things. | |
Miro | Scalable, secure, cross-device and enterprise-ready team collaboration whiteboard for distributed teams. | |
UXPin | Design tool like no other. Prototypes that feel real, with powers of code components, logic, states and design systems. | |
GitHub | Provides hosting for software development version control using Git. | |
OpenShift | OpenShift is a family of containerization software developed by Red Hat. Its flagship product is the OpenShift Container Platform—an on-premises platform as a service built around Docker containers orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux. | |
Jenkins | The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project. | |
Keycloak - DEV | Keycloak is an open source software product to allow single sign-on with Identity Management and Access Management aimed at modern applications and services. | |
Keycloak - TEST | Keycloak is an open source software product to allow single sign-on with Identity Management and Access Management aimed at modern applications and services. | |
Keycloak - PROD | Keycloak is an open source software product to allow single sign-on with Identity Management and Access Management aimed at modern applications and services. | |
Prometheus | Prometheus is an open-source systems monitoring and alerting toolkit. | |
Grafana | Grafana allows you to query, visualise, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture. | |
Elasticsearch | Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for lightning fast search, fine‑tuned relevancy, and powerful analytics that scale with ease. | |
Kibana | Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. Do anything from tracking query load to understanding the way requests flow through your apps. |