README.md
# 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](https://github.com/bcgov/citz-imb-staff-purchasing-reimbursement/wiki).
[![Lifecycle:Experimental](https://img.shields.io/badge/Lifecycle-Experimental-339999)](Redirect-URL)
## 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](https://www.docker.com/)
To start the entire application, run the following command:
`docker-compose up -d`.
To stop the entire application, run the following:
`docker-compose down`