|
6 | 6 | [](https://sonarcloud.io/summary/new_code?id=cahaseler_EMPACT)
|
7 | 7 | [](https://sonarcloud.io/summary/new_code?id=cahaseler_EMPACT)
|
8 | 8 |
|
9 |
| -**EMPACT: The Environment and Maturity Program Assessment and Control Tool** is an Open Source implementation of the IP2M METRR Environmental and Maturity evaluation model. The IP2M METRR model was developed by the US Department of Energy in collaboration with Arizona State University. EMPACT is an open source project intended as a collaborative effort by the greater earned value community and is not at this time funded or endorsed by ASU or DOE. |
| 9 | +**EMPACT: The Environment and Maturity Program Assessment and Control Tool** is an Open Source implementation of the IP2M METRR Environmental and Maturity evaluation model. The IP2M METRR model was developed by the US Department of Energy in collaboration with Arizona State University. EMPACT is an open source project intended as a collaborative effort by the greater earned value community and is not at this time funded or endorsed by ASU. |
10 | 10 |
|
11 | 11 | This tool is based on the originally published research findings in the DOE-funded study but is developed independently from ASU's proprietary IP2M METRR tool and does not reuse any code from that tool. Development priorities and features are derived from practical lessons learned from use of ASU's IP2M METRR tool.
|
12 | 12 |
|
@@ -68,10 +68,76 @@ Here is the approach that will be followed:
|
68 | 68 |
|
69 | 69 | This is an open source project and intended as a collaborative effort. Especially if you or your organization is using this software to facilitate reviews or otherwise benefit, there is an informal expectation that you give back to the greater earned value community by contributing to the codebase and collaborating on this project.
|
70 | 70 |
|
| 71 | +## Sponsors |
| 72 | + |
| 73 | +This project is sponsored by the United States Department of Energy's Office of Project Management. Specifically, the Office has approved usage of paid contractor development hours towards working on this project. |
| 74 | + |
71 | 75 | ## Code Structure
|
72 | 76 |
|
73 | 77 | The codebase is organized as follows, with files relating to the whole project at the parent level and subfolders for specific components:
|
74 | 78 |
|
75 | 79 | - /src-tauri: The code used for the Tauri local application, including the Rust functions for interacting with the database and configuration for the Tauri app.
|
76 | 80 | - /web: The NextJS application to be run on the server, containing the UI, API routes, and security layers. The UI is written in a way that works for both platforms, that is to say it calls generically named functions that use API calls in the web version and use Rust functions in the local version.
|
77 | 81 | - /web_static: A seperate NextJS website containing configuration for the static export required for the Tauri app. UI code in this folder is copied in from the web folder and should not be edited. In general this folder shouldn't need to be edited.
|
| 82 | + |
| 83 | +## Database Structure |
| 84 | + |
| 85 | +See the [Prisma Schema](https://github.com/empact/EMPACT/blob/main/prisma/schema.prisma) for more details on the database schema, a diagram is below: |
| 86 | + |
| 87 | + |
| 88 | + |
| 89 | +## Installation |
| 90 | + |
| 91 | +There are several approaches available to use this tool, described below. |
| 92 | + |
| 93 | +### Standalone usage |
| 94 | + |
| 95 | +Simply download and run the application installer provided in the Releases section of the Github Repository here: [https://github.com/empact/EMPACT/releases](https://github.com/empact/EMPACT/releases). The tool can be installed and run offline, with data stored on your local machine. Data can be exported using the export tools to provide it to others. |
| 96 | + |
| 97 | +Advantages to this approach: |
| 98 | + |
| 99 | +- No need for an external server or any database configuration |
| 100 | +- No need for an internet connection after initial installation |
| 101 | +- Simplified interface without user management or other complexity included in a multi-user system |
| 102 | + |
| 103 | +Disadvantages to this approach: |
| 104 | + |
| 105 | +- Single user, no group assessments supported |
| 106 | +- Requires installation rights on your local machine |
| 107 | +- Windows only, no MacOS support at this time (if you are willing to sponsor development costs for MacOS support, please contact us) |
| 108 | + |
| 109 | +### Server installation with external MSSQL or PostGreSQL databases |
| 110 | + |
| 111 | +This is the reccomended approach for a production level application, and involves installing the server Docker container and configuring it to point to an external PostGreSQL or MSSQL database that you own and manage - likely one that you use for other applications already. See the [Installation Guide](https://github.com/cahaseler/EMPACT/INSTALL.md) for more details. |
| 112 | + |
| 113 | +Advantages to this approach: |
| 114 | + |
| 115 | +- Multi-user assessments supported, along with appropriate roll-up reporting |
| 116 | +- Browser based web application that can be accessed from any computer with network access to the server, over the internet or an internal network |
| 117 | +- No operating system installation required, supports MacOS and other non-Windows platforms |
| 118 | +- Data is stored in your existing managed database solutions, making it available to other analytics platforms you may have, and providing your data with existing redundancy and security controls |
| 119 | +- Users can leverage single sign on via your existing authentication solution |
| 120 | + |
| 121 | +Disadvantages to this approach: |
| 122 | + |
| 123 | +- Requires server configuration and setup |
| 124 | +- Requires setting up the external database and opening appropriate connections between the EMPACT server and your database |
| 125 | +- No offline functionality |
| 126 | + |
| 127 | +### Server installation with included PostGreSQL database docker container |
| 128 | + |
| 129 | +This allows you to set up EMPACT as a standalone server running both the EMPACT container and a PostGreSQL database. See the [Installation Guide](https://github.com/cahaseler/EMPACT/INSTALL.md) for more details. |
| 130 | + |
| 131 | +Advantages to this approach: |
| 132 | + |
| 133 | +- Multi-user assessments supported, along with appropriate roll-up reporting |
| 134 | +- Browser based web application that can be accessed from any computer with network access to the server, over the internet or an internal network |
| 135 | +- No operating system installation required, supports MacOS and other non-Windows platforms |
| 136 | +- No existing systems or databased are needed, this is an all-in-one solution that includes both the database and the EMPACT server with no external connections |
| 137 | +- Users can leverage single sign on via your existing authentication solution |
| 138 | + |
| 139 | +Disadvantages to this approach: |
| 140 | + |
| 141 | +- Requires server configuration and setup |
| 142 | +- Database remains on the same server as EMPACT, meaning you will need to configure your own backups and security controls to ensure data retention |
| 143 | +- No offline functionality |
0 commit comments