You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a system that contractors can upload their activity for highway maintenance, validate the GPS locations, provide summary reports. The system is to reject invalid uploads.
2
+
3
+
As part of the Highway Maintenance Contract Renewal (HMCR) process the business area defined the reporting requirements for the Maintenance Contractors (MCs). The contracts outlined the fields that have to be reported on and the format that it needs to be reported in.
4
+
5
+
This presents a problem on how to best collect the data being provided by the MCs and ensure its quality, so that it can be put to use for the Program and Ministry needs. Through this project the program wants to meet the need to automate the data gathering, as well as data validation process then capture the successfully validated data in a database which can then be immediately available to HQ and District Offices.
6
+
7
+
## Prerequisites
8
+
9
+
- .Net Core 3.1 SDK
10
+
- Node.JS v10.0 or newer
11
+
- Microsoft SQL Server 2017 or newer
12
+
13
+
## Dependencies
14
+
15
+
- Working KeyCloak Realm with BC Gov IDIR and BCeID
16
+
- Ministry of Transportation and Infrastructure GeoServer access
17
+
- IDIR service account with access to BC Gov BceID WebService
18
+
19
+
## Local Development
20
+
21
+
### Configuration
22
+
23
+
Use the following steps to configure the local development environment
24
+
25
+
1. Clone the repository
26
+
27
+
```
28
+
git clone https://github.com/bcgov/HMCR.git
29
+
```
30
+
31
+
2. Create the HMR_DEV database in MS SQL Server
32
+
33
+
- Delete all existing tables
34
+
- Run scripts in `database/V01.1` directory
35
+
- Apply incremental scripts `(V14.1 to Vxx.x)` in ascending order
36
+
- Create the first admin user in `HMR_SYSTEM_USER` table and assign the `SYSTEM_ADMIN` role in the `HMR_USER_ROLE` table
37
+
38
+
3. Configure API Server settings
39
+
40
+
- Copy `api/Hmcr.API/appsettigns.json` to `api/Hmcr.API/appsettigns.Development.json`
41
+
- Update the placeholder values with real values, eg., replace the `<app-id>` with actual KeyCloak client id in the `{ "JWT": { "Audience": "<app-id>" } }` field
42
+
- Update the connection string to match the database
43
+
- Make note of or update the port for the API Server in Visual Studio or through the `properties/launchSettings.json` file.
44
+
45
+
4. Configure Hangfire Server settings
46
+
47
+
- Copy `api/Hmcr.Hangfire/appsettigns.json` to `api/Hmcr.Hangfire/appsettigns.Development.json`
48
+
- Update the placeholder values with real values, eg., replace the `<ServiceAccount:User>` with actual IDIR service account in the `{ "ServiceAccount": { "User": "<ServiceAccount:User>" } }` field
49
+
- Update the connection string to match the database
50
+
51
+
5. Configure the React development settings
52
+
53
+
- Create the `client/.env.development.local` file and add the following content
0 commit comments