-
Notifications
You must be signed in to change notification settings - Fork 43
Glossary
The following subjects are relevant to the PIMS business operations.
For terms related to development or technologies used in the application, see the Development page.
Term | Description |
---|---|
Inventory | Any parcel (land) or building recorded in PIMS. These are often referred to as properties. |
Project | A submitting of properties for sale or transfer, often referred to as a disposal. |
Dispose | To relinquish a property through external sale or internal transfer. Disposal Projects handle this process. |
Surplus Property Program (SPP) | The process through which properties are tracked during their disposal. |
Enhanced Referral Process (ERP) | The portion of the SPP where properties are available for internal transfer. |
Surplus Properties List | The portion of the SPP where properties that are being externally sold are listed. |
User | An individual who uses PIMS. Could have a role of General User, Administrator, or Auditor. |
Agency | An organization that owns properties listed in PIMS. For example, BC Housing . Users will belong to one of these agencies. Some agencies are parent agencies that contain multiple child agencies. For example, Citizens' Services contains Real Property Division . |
Administrative Area | Each of these corresponds to a location within BC. Usually these are municipalities, such as Victoria . |
Notifications | PIMS sends out multiple notifications, many of which are during the Disposal Project process. These notifications are in the form of emails, sent using the Common Hosted Email Service. |
Parcel Identifier (PID) | A unique identifier for each parcel within BC. This ID is generally a series of nine digits formatted as ###-###-###
|
Property Identification Number (PIN) | Another parcel identifier used by the Federal Government. Primarily used on parcels where the Federal Government has had ownership. |
Subject | Domain | Description | Difficulty |
---|---|---|---|
Inventory | Policy | Submitting and maintaining property information. | Junior |
SPP | Policy | Surplus Property Program business process – Disposing properties in inventory. | Intermediate |
ERP | Policy | Enhanced Referral Process – properties available for internal transfer. | Senior |
SPL | Policy | Surplus Properties List – properties being externally sold. | Intermediate |
First Nation Consultation | Policy | First Nation consultation process in relation to SPP. | Senior |
Subject | Domain | Description | Difficulty |
---|---|---|---|
Agile | Project Management | Project Management process | NA |
Scrum | Project Management | Agile framework for development and delivering | NA |
Daily Scrum | Project Management | Scrum daily ceremony | NA |
Sprint Review | Project Management | Scrum sprint conclusion ceremony | NA |
Sprint Retrospective | Project Management | Scrum sprint conclusion ceremony | NA |
Backlog Refinement | Project Management | Agile activity of ensuring stories are ready for development | NA |
Jira | Project Management | 3rd party project management tool | NA |
Getting access to the various environments, services, tools that are required to develop and support PIMS.
Subject | Domain | Description | Difficulty |
---|---|---|---|
GitHub | Source Control, DevOps | Repository hosting services | Junior |
OpenShift | Infrastructure | Container orchestration | Intermediate |
Keycloak | Integration, Identity | 3rd party solution to manage authentication and authorization | Junior |
Rocket.Chat | Tool | Exchange Lab communication tool | Junior |
DEV | Environment | OpenShift environment for QA | Junior |
TEST | Environment | OpenShift environment for UAT | Junior |
PROD | Environment | OpenShift environment for production | Junior |
Install the required tools, software and configure developer environments to support development. While a developer will for the most part only need to follow the setup documentation, it requires a greater depth of understanding of how everything works together.
Subject | Domain | Description | Difficulty |
---|---|---|---|
Docker | Development, Infrastructure | Containerized architecture | Intermediate |
Docker Compose | Development, Infrastructure | Tool to control containers locally | Intermediate |
Keycloak | Integration, Identity | 3rd party solution to manage authentication and authorization | Intermediate |
Oauth | Security | Open standard for access delegation | Senior |
Open ID Connect | Security | Simple identity layer | Intermediate |
Git | Source Control | Versioned source code - fetch, pull, push, rebase | Intermediate |
Pull Requests | Source Control, DevOps | Code review | Intermediate |
GitHub | Source Control, DevOps | Repository management service | Intermediate |
Configuration | Development | Environmental abstraction | Intermediate |
SQL Server | Development, Infrastructure | Database | Intermediate |
Bash | Development | Tooling development language | Junior |
Linting | Development | Development standards enforcement | Junior |
Unit Testing | Testing | Automated testing of code | Intermediate |
Code Coverage | Testing | Unit testing coverage reports | Intermediate |
VS Code | Development | Development tool | Junior |
Visual Studio | Development | Development tool | Junior |
Supporting PIMS requires an understanding of the different parts, components, integrations, tools, architecture, and processes.
Subject | Domain | Description | Difficulty |
---|---|---|---|
Inventory | Business | Submitting and maintaining property information. | Junior |
SPP | Business | Surplus Property Program business process – Disposing properties in inventory. | Intermediate |
ERP | Business | Enhanced Referral Process – properties available for internal transfer. | Senior |
SPL | Business | Surplus Properties List – properties being externally sold. | Intermediate |
Database | Container | SQL Server on a Linux container provides the central data-source for PIMS. | Intermediate |
DAL | Development | Data access layer used for all communication with the database and 3rd party tools within the API. | Senior |
API | Container | RESTful HTTP endpoints. | Intermediate |
Application | Container | Web application to support UX/UI. | Intermediate |
Leaflet | Integration, GIS | 3rd party tool to present GIS. | Junior |
Light Workflow Engine | Development | Data structure and logic to support project workflow rules and status. | Intermediate |
Notifications | Integration, Development | 3rd party integration with CHES to send email based on Light Workflow Engine. | Intermediate |
Roles | Development, Security | Claim based identity authorization. | Intermediate |
Keycloak | Container | 3rd party tool and service to authenticate and authorize. | Senior |
Stakeholders | Business | Key resources who use PIMS. N/A |
There are two primary development layers within PIMS, the frontend and the backend. The frontend is a React web application that supports the UX/UI. The majority of the GIS components are hosted within the frontend.
Subject | Domain | Description | Difficulty |
---|---|---|---|
Docker | Development, Infrastructure | Containerized architecture | Intermediate |
Docker Compose | Development, Infrastructure | Tool to control containers locally | Intermediate |
Bash | Development | Tooling development language | Junior |
Keycloak | Integration, Identity | 3rd party solution to manage authentication and authorization | Intermediate |
Oauth | Security | Open standard for access delegation | Junior |
API | Architecture | RESTful, microservice | Intermediate |
Configuration | Development | Environmental abstraction | Intermediate |
React | Development | Frontend JavaScript library for UI | Intermediate |
Redux | Development | Frontend JavaScript library for state management | Intermediate |
Formik | Development | Frontend JavaScript library for forms | Intermediate |
Styled Components | Development | Frontend JavaScript library for UI | Junior |
JavaScript | Development | Frontend development language | Intermediate |
Typescript | Development | Frontend development language | Intermediate |
AJAX | Development | Frontend communication layer | Intermediate |
CSS | Development, UI | Frontend UI syntax | Junior |
SASS | Development, UI | Frontend dynamic CSS | Junior |
Node | Development | Building tools for JavaScript | Junior |
NPM | Development | Node Package Manager tool for development | Intermediate |
VS Code | Development | Development tool | Intermediate |
Linting | Development | Development standards enforcement | Junior |
GIS | GIS | Geographical Information System mapping | Intermediate |
WMS | GIS | Web Map Service standard protocol | Junior |
WFS | GIS | Web Feature Service standard protocol | Junior |
Leaflet | ntegration, GIS | Frontend 3rd party library for GIS | Junior |
Unit Testing | Testing | Automated testing of code | Intermediate |
BrowserStack | Testing | 3rd party automated integration testing tool | Junior |
The backend components of PIMS are composed of the API, DAL, Database, Keycloak, and various integration with 3rd party tools.
Subject | Domain | Description | Difficulty |
---|---|---|---|
Docker | Development, Infrastructure | Containerized architecture | Intermediate |
Docker Compose | Development, Infrastructure | Tool to control containers locally | Intermediate |
Keycloak | Integration, Identity | 3rd party solution to manage authentication and authorization | Intermediate |
Oauth | Security | Open standard for access delegation | Senior |
Open ID Connect | Security | Simple identity layer | Intermediate |
N-tier | Architecture | Architecture Separation of concerns and layering features | Intermediate |
API | Architecture | RESTful, microservice | Intermediate |
C# | Development | API and tooling development language | Intermediate |
.NET Core | Development | API and tooling development framework | Intermediate |
Mapster | Development | Data transformation tool | Intermediate |
Configuration | Development | Environmental abstraction | Intermediate |
DI | Development | Dependency Injection abstraction | Senior |
MVC | Development | Model View Controller architecture | Intermediate |
AJAX | Development | Frontend communication layer | Intermediate |
VS Code | Development | Development tool | Intermediate |
Visual Studio | Development | Development tool | Junior |
TSQL | Development | Database development language | Intermediate |
Entity Framework | Development | Database integration library | Intermediate |
SQL Server | Development, Infrastructure | Database | Intermediate |
Bash | Development | Tooling development language | Junior |
Linting | Development | Development standards enforcement | Junior |
GIS | GIS | Geographical Information System mapping | Intermediate |
WMS | GIS | Web Map Service standard protocol | Junior |
WFS | GIS | Web Feature Service standard protocol | Junior |
Geocoder | Integration, GIS | 3rd party tool for GIS | Junior |
CHES | Integration, Email | 3rd party email tool | Intermediate |
Unit Testing | Testing | Automated testing of code | Intermediate |
SQL Profiler | Monitoring, Debug | Database query performance analysis tool | Junior |
A greater understanding of the infrastructure that supports PIMS outside of the local development.
Subject | Domain | Description | Difficulty |
---|---|---|---|
Docker | Development, Infrastructure | Containerized architecture | Intermediate |
Docker Compose | Development, Infrastructure | Tool to control containers locally | Intermediate |
OpenShift | Infrastructure | Container orchestration | Intermediate |
Kubernetes | Infrastructure | Container orchestration | Junior |
Cronjobs | Infrastructure | Infrastructure database backup tooling | Junior |
Keycloak | Integration, Identity | 3rd party solution to manage authentication and authorization | Intermediate |
Oauth | Security | Open standard for access delegation | Senior |
Open ID Connect | Security | Simple identity layer | Intermediate |
Git | Source Control | Versioned source code - fetch, pull, push, rebase | Intermediate |
GitHub | Source Control, DevOps | Repository management service | Intermediate |
GitHub Actions | DevOps | Automated testing and reporting | Junior |
DevOps | Infrastructure, Architecture | CI/CD pipeline - infrastructure as code | Senior |
Jenkins | DevOps, Integration | DevOps configuration and automation | Junior |
API | Architecture | RESTful, microservice | Intermediate |
Configuration | Development | Environmental abstraction | Intermediate |
Application | Architecture | Frontend web application | Intermediate |
AJAX | Development | Frontend communication layer | Intermediate |
Entity Framework | Development | Database integration library | Intermediate |
SQL Server | Development, Infrastructure | Database | Intermediate |
Bash | Development | Tooling development language | Junior |
Leaflet | Integration, GIS | Frontend 3rd party library for GIS | Junior |
Geocoder | Integration, GIS | 3rd party tool for GIS | Junior |
CHES | Integration, Email | 3rd party email tool | Intermediate |
Elasticsearch | Monitoring, Infrastructure | Search engine data repository | Junior |
Kibana | Monitoring | Data visualization dashboard | Junior |
Prometheus | Monitoring, Infrastructure | Event monitoring and alerting | Junior |
Grafana | Monitoring | Data visualization dashboard | Junior |
The processes, tools, and configuration to support Continuous Integration and Continuous Delivery (CI/CD).
Subject | Domain | Description | Difficulty |
---|---|---|---|
Docker | Development, Infrastructure | Containerized architecture | Intermediate |
Docker Compose | Development, Infrastructure | Tool to control containers locally | Intermediate |
OpenShift | Infrastructure | Container orchestration | Intermediate |
Kubernetes | Infrastructure | Container orchestration | Junior |
Cronjobs | Infrastructure | Infrastructure database backup tooling | Junior |
Keycloak | Integration, Identity | 3rd party solution to manage authentication and authorization | Intermediate |
Git | Source Control | Versioned source code - fetch, pull, push, rebase | Intermediate |
Pull Requests | Source Control, DevOps | Code review | Intermediate |
GitHub | Source Control, DevOps | Repository management service | Intermediate |
GitHub Actions | DevOps | Automated testing and reporting | Junior |
Jenkins | DevOps, Integration | DevOps configuration and automation | Junior |
SonarQube | DevOps, Integration | Code coverage and quality monitoring | Junior |
Configuration | Development | Environmental abstraction | Intermediate |
Entity Framework | Development | Database integration library | Intermediate |
SQL Server | Development, Infrastructure | Database | Intermediate |
Bash | Development | Tooling development language | Junior |
Unit Testing | Testing | Automated testing of code | Intermediate |
BrowserStack | Testing | 3rd party automated integration testing tool | Junior |