bcgov / citz-imb-staff-purchase-reimbursement

Citizen Services Capstone Project A for 2023
Apache License 2.0
4 stars 1 forks source link
artifactory chefs citz docker express gcnotify imb mongo mongodb openshift purchasing react reimbursement typescript vite

CITZ: IMB Staff Purchase Reimbursement Project

The Staff Purchase Reimbursement Project (SPR) aims to facilitate the process of managing purchase reimbursements for administrative staff. Users will be able to access a web application that addresses their needs to submit and update reimbursement requests, download and upload required files, and view the ongoing status of their requests.

A quick setup guide is available below. For more information on the application, please see the project's Wiki pages.

Lifecycle:Experimental

Setup

Create a .env file in the root of the project. Populate it with values for each key specified in .env.template.

Example values

KEY EXAMPLE DESCRIPTION
API_PORT 3004 The port the API will listen on.
MONGO_PORT 27017 The port used by MongoDB.
MONGO_USERNAME username The root admin name for MongoDB.
MONGO_PASSWORD password The root admin password for MongoDB.
MONGO_DATABASE my-db The database name for MongoDB.
MONGO_SERVICE mongo Prod only. The name of the Docker service for MongoDB.
ENVIRONMENT local Keycloak. Local only. Set to local when running locally.
FRONTEND_PORT 8080 Keycloak. Local only. The port of the frontend application.
FRONTEND_URL https://... Keycloak. Production only. URL of frontend application.
BACKEND_URL https://... Keycloak. Production only. URL of backend application.
SSO_CLIENT_ID my-id-1234 Keycloak. Client ID.
SSO_CLIENT_SECRET somesecret Keycloak. Client secret.
SSO_AUTH_SERVER_URL https://... Keycloak. Authorization URL.
GC_NOTIFY_API_KEY somesecret API Key for GC Notify.
GC_NOTIFY_ADMIN_EMAIL bob@gmail.com Email address for admin mailbox.
CSS_API_TOKEN_URL https://... URL for getting CSS API Token.
CSS_API_CLIENT_ID my-id-1234 Client ID for CSS API account.
CSS_API_CLIENT_SECRET somesecret Secret for CSS API account.
CSS_API_BASE_URL https://... Base URL for CSS API. Used for API calls.
JIRA_ACCOUNT_EMAIL bob@gmail.com The email account used to access the JIRA project.
JIRA_TOKEN sometoken Token generated by JIRA to access their API.
TESTING true Disables Keycloak for API testing.
TEST_USERNAME username Username used for testing.
TEST_PASSWORD password Password used for testing.

Running

This project assumes that you have Docker installed on your system. If not, please install it first.

Docker

To start the entire application, run the following command:

docker-compose up -d.

To stop the entire application, run the following:

docker-compose down