This commit is contained in:
Dennis Eichhorn 2022-04-23 10:12:28 +02:00
parent 14c4b3d6bd
commit 1602341ca2
6 changed files with 237 additions and 74 deletions

View File

@ -1,4 +1,4 @@
# Individual Contributor License Agreement ("CLA") 1.0
# Individual Contributor License Agreement ("CLA")
Thank you for your interest in Karaka-Management (the "Company"). In order to clarify the intellectual property license granted with Contributions from any person or entity, the Company must provide a Contributor License Agreement ("CLA") on file that has been made available to each Contributor. This license is for your protection as a Contributor as well as the protection of the Company and its users; it does not change your rights to use your own Contributions for any other purpose.
@ -46,4 +46,8 @@ This Agreement shall be governed exclusively by German law. The courts of Hessen
## Entire Agreement
This agreement constitutes the entire agreement and supersedes all prior or contemporaneous oral or written agreements concerning such Contribution. This agreement may only be changed by mutual agreement of authorized representatives of the parties in writing. You agree to notify the Company of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.
This agreement constitutes the entire agreement and supersedes all prior or contemporaneous oral or written agreements concerning such Contribution. This agreement may only be changed by mutual agreement of authorized representatives of the parties in writing. You agree to notify the Company of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.
2022.01.01 - Version 1.0

View File

@ -8,6 +8,12 @@ The setup and configuration of the development environment is in the hands of ev
Every organization member and contributor to the organization must follow the [code of conduct](../Policies & Guidelines/Code of conduct.md).
## Becoming a contributor
For public repositories you can immediately start by creating forks and pull requests. For private repositories which are necessary to setup the complete developer environment, feel free to request access. Please not that we may not immediately give you access to private repositories and instead will give you smaller tasks regarding public repositories. Please contact spl1nes.com@googlemail.com for more details.
For all contributions our [Contributor License Agreement ("CLA")](https://github.com/Karaka-Management/Organization-Guide/blob/develop/legal/individual contributor license agreement.md) comes into effect.
## Code changes
### Topics / Tasks / Todos
@ -54,7 +60,7 @@ Additional inspections which are run but might be ignored during the review depe
### Demo
Some code changes may also require changes or extensions in the demo setup scripts. The demo setup script try to simulate a real world use case by generating and modifying mostly random data. This is also a good way to setup and “manually” test the code changes in a larger picture. The demo setup script can be found in the [demoSetup](https://github.com/Karaka-Management/demoSetup) repository. The demo setup script takes a long time due to the large amount of user input simulated data which is generated. Therefore it is recommended to run this only sporadically.
Some code changes may also require changes or extensions in the demo setup scripts. The demo setup script try to simulate a real world use case by generating and modifying mostly random data. This is also a good way to setup and “manually” test the code changes in a larger picture. The demo setup script can be found in the [demoSetup](https://github.com/Karaka-Management/demoSetup) repository. The demo setup script takes a long time due to the large amount of user input simulated data which is generated. Therefore it is recommended to run this only sporadically.
### Code review

View File

@ -0,0 +1,2 @@
# Development Flowchart

View File

@ -3,14 +3,14 @@
- [Summary](#summary)
- [Most recent changelog](#most-recent-changelog)
- [Milestones](#milestones)
- [Milestone tasks](#milestone-tasks)
- [Key tasks](#key-tasks)
- [Todos](#todos)
- [Bugs](#bugs)
- [Drafts, concepts & ideas](#drafts-concepts-ideas)
## Summary
Last update of this file: 2022.04.03
Last update of this file: 2022.04.23
## Most recent changelog
@ -43,75 +43,7 @@ Last update of this file: 2022.04.03
* Adding existing events to dynamically added DOM elements becomes a real problem.
* Solution: Implement event bubbling
## Next steps
Continue with milestone implementation.
## Milestones
Based on the pilot candidate with whom the functionality will be implemented.
* The current costs are the annual value for the pilot candidate based on actual costs but subjectively split into more detailed cost positions (the invoices from the suppliers are not always detailed enough to differentiate between the different functions/modules).
* The future costs are costs that currently don't exist but are expected to come up in the future if the pilot candidate intends to implement **some** of the current software needs.
* The new value is an estimation of how much the newly implemented software (Karaka) will subjectively provide compared to current/future solutions. These are **NOT** the costs for the pilot candidate or cost savings. The costs for this will be discussed afterwards.
| Deadline | Done | Milestone | Current Costs | Future Costs | New Value |
| -------- | ---- | ------------------------------------------------------ | -------------- | -------------- | -------------- |
| | | Replace ticket system from Z* | 7,200 EUR | | 8,000 EUR |
| | | Replace document/contract management from CRM | 3,000 EUR | | 5,000 EUR |
| | | Implement invoice management process | 0 EUR | 5,000 EUR | 5,000 EUR |
| | | Replace QM from CRM | 700 EUR | | 1,500 EUR |
| | | Replace workflows from CRM | 2,000 EUR | | 3,000 EUR |
| | | Move sales reps from CRM | 5,400 EUR | | 6,000 EUR |
| | | Replace Marketing events, seminars, shop data from CRM | 1,500 EUR | | 2,000 EUR |
| | | Sales analysis (replace D* from G*) | 1,000 EUR | | 3,000 EUR |
| | | Digitalizing human resource Human Resource Management | 0 EUR | | 500 EUR |
| | | Replace billing from G* | 15,000 EUR | | 20,000 EUR |
| | | Replace stock from G* | 7,500 EUR | | 8,000 EUR |
| | | Replace inventory from G* | 500 EUR | | 1,000 EUR |
| | | Replace manufacturing from G* | 500 EUR | | 1,000 EUR |
| | | R&D + Quality control | 0 EUR | 10,000 EUR | 10,000 EUR |
| | | Replace accounting from G* | 10,000 EUR | | 12,000 EUR |
| | | Replace asset management from G* | 500 EUR | | 500 EUR |
| | | Replace reporting from L* | 4,300 EUR | | 5,000 EUR |
| | | Replace time recording | 1,500 EUR | | 2,000 EUR |
| | | **Total** | **60,100 EUR** | **15,000 EUR** | **91,500 EUR** |
### Cost basis
The estimated annual costs in the milestones above are based on the total annual costs from the software from the pilot candidate.
| Type | License | Customization | Total |
| -------------- | -------------- | -------------- | -------------- |
| Z* | 7,200 EUR | | 7,200 EUR |
| G* | 26,600 EUR | 8,400 EUR | 35,000 EUR |
| L* | 4,300 EUR | | 4,300 EUR |
| CRM | 2,900 EUR | 9,200 EUR | 12,100 EUR |
| Time recording | 1,500 EUR | | 1,500 EUR |
| **Total** | **42,500 EUR** | **17,600 EUR** | **60,100 EUR** |
*Website costs are not included, they can be estimated at another 30,000 EUR per year*
### Software vendor comparison
The following overview tries to compare competitive software alternatives as fairly as possible. However, in many cases additional costs for maintenance, support and **especially** customizations are not known.
| Type | Current situation* | Sage | Salesforce | Datev | Lexware | OMS** |
| ------------- | ---------------------- | ---- | -------------- | --------- | -------------- | -------------- |
| Ticket system | 7,200 EUR | | | | | 5,000 EUR |
| CRM | 2,900 EUR + 9,200 EUR | | 11,250 EUR + ? | | | 10,000 EUR |
| ERP | 22,000 EUR + 8,000 EUR | | | | 17,000 EUR + ? | 25,000 EUR |
| Accounting | 4,600 EUR + 400 EUR | | | 1,260 EUR | 5,000 EUR + ? | 5,000 EUR |
| Reporting | 4,300 EUR | | | | | 5,000 EUR |
| **Total** | **58,600 EUR** | | | | | **50,000 EUR** |
*ERP calculation based on 50 licenses, accounting based on 10 licenses, analysis tool based on 10 licenses, CRM based on 75 licenses*
\* Excluding future costs for additional software/features
\*\* Incl. features mentioned in new value and basic support & customizations (e.g. installation, software training, invoice layout)
### Milestone tasks
## Key tasks
| Priority | Category | Task |
| ---------- | ---------------------------------------- | ------------------------------------------------------------ |
@ -338,6 +270,7 @@ Todos/tasks which are not important enough to be part of the milestones (or don'
| medium | Editor | Create immediate text preview similar to a rich text editor or Typora. |
| medium | Editor | Add inline charts (e.g. [Mermaid](https://github.com/mermaid-js/mermaid) and [Toast UI Chart](https://github.com/nhn/tui.chart)) |
| medium | Editor | Add math formulas (e.g. [Katex](https://katex.org/)) |
| medium | Editor | Add emojis |
| medium | Admin | Create a view where it's possible to create/activate, change and delete/deactivate hooks for events. |
| medium | EventManagement | Use Cli application for async event handling, alternatively web requests via curl, alternatively at runtime of the main process. This should depend on the configuration of the application. |
| low | Registration | Allow users to register by themselves (if activated in the backend) |
@ -610,3 +543,83 @@ Software:
1. Tesseract + OpenCV + above mentioned steps
2. Some Api (e.g. google vision ai, amazon textract, amazon recognition)
### Workflow
* Listen to multiple event triggers (a state might get triggered from different triggers)
* Every state needs to load the workflow instance globally for that state
* A workflow must have multiple events such as
* events must have a name/id
* events can have a description
* if (with true and false branches and with simple && and || connections)
* Comparisons:
* equals
* not equals
* exists
* doesn't exist
* greater than
* lesser than
* greater or equals than
* lesser or equals than
* contains
* doesn't contain
* in between (inclusive)
* Connections
* Only simple && and ||
* No complex sub conditions e.g. (a && b) || (b && (c || d))
* Function
* Call
* function from module
* function from static script
* function from workflow
* simulate api call (internally populate request/response)
* Define variable names in order of function parameters
* Define response variable name
* Data definition (important for naming and defining values for follow up steps)
* Fixed values
* Dynamic re-assigning/copying
* take old variable and re-name it
* allow array path e.g. `varname/key1/key2 => newvarname`
* the same variable can be copied to many different new variable names
* Event trigger
* similar to function but trigger event
* Routing
* similar to function but run routing into dispatcher
* Rest request
* similar to function but using rest
* Execute script assigned to workflow template
* This way workflow could be completely defined in a custom script if it is very complicated
* Response message population
* Create workflow diagram (see example below)
```mermaid
flowchart LR
subgraph A
A_TRIGGER[State1: Event Triggers]-->IF{if}
IF-->|TRUE|IF_TRUE1[Run]
IF_TRUE1-->RUN1[Collect result]
RUN1-->NEW_VAR[Assign data]
NEW_VAR-->TRIGGER2[Execute Event]
NEW_VAR-->MESSAGE[Populate Message]
IF-->|TRUE|RUN2[Run]
RUN2-->OTHER1[...]
IF-->|FALSE|ELSEIF{if}
ELSEIF-->|TRUE|ELSE_TRUE[Run]
ELSE_TRUE-->OTHER2[...]
ELSEIF-->|FALSE|FALSE[Error]
end
A-->|State Change|B
A-->|State Change|C
subgraph B
B_TRIGGER[State2: Event Triggers]-->B_IF{...}
end
B-->|State Change|C
subgraph C
C_TRIGGER[State3: Event Triggers]-->C_IF{...}
end
```

66
Project/Pilot1/Costs.md Normal file
View File

@ -0,0 +1,66 @@
# Milestones
## Software parts
Based on the pilot candidate with whom the functionality will be implemented.
* The current costs are the annual value for the pilot candidate based on actual costs but subjectively split into more detailed cost positions (the invoices from the suppliers are not always detailed enough to differentiate between the different functions/modules).
* The future costs are costs that currently don't exist but are expected to come up in the future if the pilot candidate intends to implement **some** of the current software needs.
* The new value is an estimation of how much the newly implemented software (Karaka) will subjectively provide compared to current/future solutions. These are **NOT** the costs for the pilot candidate or cost savings. The costs for this will be discussed afterwards.
| Software parts | Current Costs | Future Costs | New Value |
| ------------------------------------------------------ | -------------- | -------------- | -------------- |
| Replace ticket system from Z* | 7,200 EUR | | 8,000 EUR |
| Replace document/contract management from CRM | 3,000 EUR | | 5,000 EUR |
| Implement invoice management process | 0 EUR | 5,000 EUR | 5,000 EUR |
| Replace QM from CRM | 700 EUR | | 1,500 EUR |
| Replace workflows from CRM | 2,000 EUR | | 3,000 EUR |
| Move sales reps from CRM | 5,400 EUR | | 6,000 EUR |
| Replace Marketing events, seminars, shop data from CRM | 1,500 EUR | | 2,000 EUR |
| Sales analysis (replace D* from G*) | 1,000 EUR | | 3,000 EUR |
| Digitalizing human resource Human Resource Management | 0 EUR | | 500 EUR |
| Replace billing from G* | 15,000 EUR | | 20,000 EUR |
| Replace stock from G* | 7,500 EUR | | 8,000 EUR |
| Replace inventory from G* | 500 EUR | | 1,000 EUR |
| Replace manufacturing from G* | 500 EUR | | 1,000 EUR |
| R&D + Quality control | 0 EUR | 10,000 EUR | 10,000 EUR |
| Replace accounting from G* | 10,000 EUR | | 12,000 EUR |
| Replace asset management from G* | 500 EUR | | 500 EUR |
| Replace reporting from L* | 4,300 EUR | | 5,000 EUR |
| Replace time recording | 1,500 EUR | | 2,000 EUR |
| **Total** | **60,100 EUR** | **15,000 EUR** | **91,500 EUR** |
## Cost basis
The estimated annual costs in the milestones above are based on the total annual costs from the software from the pilot candidate.
| Type | License | Customization | Total |
| -------------- | -------------- | -------------- | -------------- |
| Z* | 7,200 EUR | | 7,200 EUR |
| G* | 26,600 EUR | 8,400 EUR | 35,000 EUR |
| L* | 4,300 EUR | | 4,300 EUR |
| CRM | 2,900 EUR | 9,200 EUR | 12,100 EUR |
| Time recording | 1,500 EUR | | 1,500 EUR |
| **Total** | **42,500 EUR** | **17,600 EUR** | **60,100 EUR** |
*Website costs are not included, they can be estimated at another 30,000 EUR per year*
## Software vendor comparison
The following overview tries to compare competitive software alternatives as fairly as possible. However, in many cases additional costs for maintenance, support and **especially** customizations are not known.
| Type | Current situation* | Sage | Salesforce | Datev | Lexware | OMS** |
| ------------- | ---------------------- | ---- | -------------- | --------- | -------------- | -------------- |
| Ticket system | 7,200 EUR | | | | | 5,000 EUR |
| CRM | 2,900 EUR + 9,200 EUR | | 11,250 EUR + ? | | | 10,000 EUR |
| ERP | 22,000 EUR + 8,000 EUR | | | | 17,000 EUR + ? | 25,000 EUR |
| Accounting | 4,600 EUR + 400 EUR | | | 1,260 EUR | 5,000 EUR + ? | 5,000 EUR |
| Reporting | 4,300 EUR | | | | | 5,000 EUR |
| **Total** | **58,600 EUR** | | | | | **50,000 EUR** |
*ERP calculation based on 50 licenses, accounting based on 10 licenses, analysis tool based on 10 licenses, CRM based on 75 licenses*
\* Excluding future costs for additional software/features
\*\* Incl. features mentioned in new value and basic support & customizations (e.g. installation, software training, invoice layout)

View File

@ -0,0 +1,72 @@
# Timeline
```mermaid
gantt
title CRM
dateFormat YYYY-MM-DD
excludes weekends
section Kick-Off
Planning :crit, a, 2022-09-01, 5d
section UI
Inline form C/U/C :1a1, after a, 30d
Pull A/U/R/O :1a2, after a, 30d
Push A/U/R/O :1a3, after a, 30d
Data filter (local/remote) :1b1, after 1a1, 30d
Data actions (bulk) :1b2, after 1a1, 30d
Data order (local/remote) :1b3, after 1a1, 30d
Data export :1b4, after 1a1, 30d
Tag selector :1c1, after 1b4, 10d
Drop down :1c2, after 1b4, 10d
Popup :1c3, after 1b4, 10d
Custom tpl :1d1, after 1b1, 15d
section Review1
Demo :crit, 0a1, 2022-11-01, 1d
Planning :crit, 0a2, 2022-11-01, 3d
Fixes :crit, 0a3, 2022-11-01, 5d
section Custom Importer
Client importer :2a1, 2022-10-15, 15d
Supplier importer :2b1, 2022-10-15, 15d
Item importer :2c1, 2022-10-15, 15d
Bill importer (incl files) :2d1, 2022-10-15, 15d
CRM docs/contracts :2e1, after 2d1, 15d
CRM events :2f1, after 2e1, 15d
CRM promotions :2f2, after 2e1, 15d
CRM trade fairs :2f3, after 2e1, 15d
CRM customer/supplier data :2g1, after 2f3, 10d
section Vacation1
Vacation :crit, v1, after 2g1, 10d
section Review2
Cleanup :crit, 0b1, after v1, 5d
Demo :crit, 0b2, after 0b1, 1d
Planning :crit, 0b3, after 0b2, 3d
Fixes :crit, 0b4, after 0b3, 5d
section UI Workflows
New articles :3a1, after 0b4, 10d
Q-report :3b1, after 0b4, 10d
section Functions
Events :4a1, after 3b1, 15d
Promos :4b1, after 3b1, 15d
Trade fairs :4c1, after 3b1, 15d
Contracts :4d1, after 4c1, 15d
Documents :4e1, after 4c1, 15d
Travel report :4f1, after 4e1, 10d
Customer analysis :4g1, after 4e1, 15d
News :4h1, after 4g1, 5d
section Review3
Cleanup :crit, 0c1, after 4h1, 10d
Demo :crit, 0c2, after 0c1, 1d
Planning :crit, 0c3, after 0c2, 3d
Fixes :crit, 0c4, after 0c3, 15d
section Exchange
DB exchanger (e.g. ERP) :5a1, after 0c4, 15d
File exchanger :5b1, after 0c4, 15d
section Vacation2
Vacation :crit, v2, after 5b1, 10d
section Other
Misc. :6a1, after v2, 15d
section Vacation
Vacation :crit, v3, after 6a1, 10d
section Live
Going live :milestone, 2023-08-31
```