-
Notifications
You must be signed in to change notification settings - Fork 2
User stories
-
As a user, I want to create a project, so that I can group simulations', discoveries' and other activities' results in one manageable chunk.
Acceptance criteria:
- UI app supports CRUD operations for a project - DONE
- Backend supports CRUD operations for a project - DONE
- A separate Project Management service is implemented - Implemented but not according to spec
- Backend calls the Project Management service through a client library that encapsulates HTTP requests. It's good if the client library can be autogenerated based on OpenAPI spec of the Project Management service
- A project has a name, created and modified timestamps, a user or multiple users (we can omit users in the first approach), and different assets attached to it, e.g., an event log, discovered BPS model, other processing results - DONE, sharing foundation set up but not implemented
-
As a user, I want to upload an event log of my business process in CSV, so that I can get insights into how to improve the process.
Acceptance criteria:
- UI app supports uploading of event logs and deleting them - DONE
- Deleting of an event log should be possible only if it's not used in any other processing
- Backend supports CRUD operations for an event log
- CSV as the only input format (XES might be added later) - DONE
- A separate Store service is implemented
- [?] UI app supports column mapping
- Column mapping based on the
EventLogIDs
class, https://github.com/AutomatedProcessImprovement/pix-framework/blob/main/src/pix_framework/log_ids.py#L5 - [?] Required columns:
case_id
,activity
,resource
,start_time
(should we require it or use the start-time-estimator?),end_time
- [?] Event log should have at least N events/cases
- [?] Event log should have at max N events/cases
- [?] Probably, we would want to run a log pre-processor to convert types, filter out unnecessary columns, etc. in future
-
As a user, I want to discover a BPS model from the uploaded event log, so that I can use it for process performance analysis and optimization later.
Acceptance criteria:
- UI app has a form to configure and start the discovery based on the
SimodSettings
class - UI app makes it possible to choose different event logs from the same project for the discovery
- Backend supports the discovery with the given configuration
- Event log must be in CSV - DONE
- Simod HTTP service is implemented
- Simod's BPS discovery configuration is based on the
SimodSettings
class, https://github.com/AutomatedProcessImprovement/Simod/blob/master/src/simod/settings/simod_settings.py#L21. A sample configuration is available at https://github.com/AutomatedProcessImprovement/Simod/blob/master/tests/test_optimization/test_optimizer.py#L9-L67 - [?] Simod's output for now is a folder of files with the BPMN model, Prosimos parameters in JSON, evaluation metrics in CSV, initial discovery configuration, and all simulated logs by Prosimos. We started working on a unified class for the BPS model, https://github.com/AutomatedProcessImprovement/Simod/blob/master/src/simod/simulation/parameters/BPS_model.py#L18. It would make sense to add serialization functionality to it to produce only necessary files for the user
- UI app has a form to configure and start the discovery based on the
-
[?] As a user, I want to run a simulation on the selected BPS model, so that I can view the KPI report in the UI and, possibly, (?) download the simulated event log.
Acceptance criteria:
- UI app has a form to configure and start the simulation - DONE
- UI app makes it possible to choose different BPS models from the same project for the simulation - DONE
- UI has an ability to adjust the simulation scenario and save it as a new BPS model - DONE
- Backend supports the simulation with the given BPS model - DONE
- Prosimos HTTP service is modified and integrated into the PIX - DONE
-
[Optimos user story]
User stories below are related to the user management and sharing functionality. They are not required for the first version of the app.
-
As a user, I want to create a profile for myself, so that I can manage my projects and access of others to them.
Acceptance criteria:
- UI app supports CRUD operations for a profile - DONE, Zitadel handles this. (I dont think we need more than this for now)
- Backend supports CRUD operations for a profile - DONE, Zitadel handles this.
- A separate User Management service is implemented - DONE, Zitadel
- A separate Auth service is implemented (authorization + authentication) - DONE, Zitadel
- [?] A profile has a user name, created and modified timestamps, email (?), password or passwordless auth (https://fidoalliance.org/passkeys/), and optionally a role in the organization, department - DONE, Zitadel, can be expanded upon without much interference
- Other users can't access my projects and its assets unless I share explicitly share them - DONE
-
As a user, I want to share my project with other users, so that we can collaborate on it.
Acceptance criteria:
- UI app supports sharing a project with other users (adding other users to the project, sending a link to the project)
- Backend supports sharing a project with other users
-
As a user, I want to receive an email notification when the long running processing is finished, so that I can start working with the results.
Acceptance criteria:
- Backend supports sending email notifications
-
As a user, I want to view the results of the processing in the UI and be able to share it with others, so that the generated improvements can be viewed by others.
Acceptance criteria:
- UI app supports viewing the results of the processing - DONE, User can see result and decide to save result after viewing. Else result is discarded after 48 hours (for prosimos)
- UI app supports sharing the results of the processing with other users (copying a link to the results by allowing access only to the results, but not the project or its other assets)
- Backend supports link generation for the results of the processing - DONE
- Backend supports sharing the results of the processing with other users without sharing the project or its other assets - DONE
-
Archive (ignore this, for history reasons only)
- Jonas' Notes
- Developer Notes
- System Design
-
Developer Notes
-
System Design
-
Policies