Skip to content

Commit

Permalink
Merge pull request #15 from amosproj/feature/document-software-archit…
Browse files Browse the repository at this point in the history
…ecture

Add documentation regarding the software architecture
  • Loading branch information
Tims777 authored Oct 25, 2023
2 parents 5dade6a + 84a1b8b commit 115c350
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
39 changes: 39 additions & 0 deletions Documentation/Architecture.md
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)
4 changes: 4 additions & 0 deletions Documentation/Media/component-diagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 115c350

Please sign in to comment.