generated from amosproj/amos202Xss0Y-projname
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #15 from amosproj/feature/document-software-archit…
…ecture Add documentation regarding the software architecture
- Loading branch information
Showing
3 changed files
with
47 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Software Architecture | ||
The goal of this project is to qualify sales leads in different ways, both in terms of | ||
their likelihood of becoming customers and the size of their potential revenue. | ||
|
||
|
||
## External Software | ||
|
||
### Lead Form (LF) | ||
The _Lead Form_ is submitted by every new lead and provides a small set of data about the lead. | ||
|
||
### Customer Relationship Management (CRM) | ||
The project output is made available to the sales team. | ||
This can be done in different ways, e.g. writing to a Google Sheet or pushing directly to SalesForce. | ||
|
||
|
||
## Components | ||
|
||
### Base Data Collector (BDC) | ||
The _Base Data Collector_ fullfills the task of collecting data about a lead from various online sources. | ||
All collected data is then stored in a database for later retrieval in a standardized manner. | ||
|
||
### Expected Value Predictor (EVP) | ||
The _Expected Value Predictor_ estimates the expected value of a lead by analyzing the collected data of that lead. | ||
This is done using a machine learning approach, where the EVP is trained on historical data. | ||
Preprocessing of both the collected and the historical data should be done inside the EVP, | ||
if it goes beyond the scope of standardization. | ||
|
||
### Controller | ||
The _Controller_ is an optional component, which coordinates BDC, EVP and the external components as a centralized control instance. | ||
That said, another (more advanced) approach would be to use a pipelined control flow, driven by web hooks or similar signals. | ||
|
||
|
||
## Diagrams | ||
|
||
### Component Diagram | ||
![Component Diagram](Media/component-diagram.svg) | ||
|
||
### Sequence Diagram | ||
![Sequence Diagram](Media/sequence-diagram.svg) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.