Skip to content

Commit

Permalink
Update Readme.md & ADRs
Browse files Browse the repository at this point in the history
  • Loading branch information
raghuam committed Oct 17, 2024
1 parent 2c794cc commit b74c2dc
Show file tree
Hide file tree
Showing 24 changed files with 203 additions and 111 deletions.
6 changes: 5 additions & 1 deletion ADRs/ADR-07-database-seclection-for-reporting.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# ADR-07 Database selection for reporting

### Status: Proposed
## Date:
2024-09-16

### Status:
Accepted

## Context
We have to build a reporting and analytics system to collect, store, and analyze user data from our applications. This data includes user interactions, events, and other relevant information. To effectively manage and analyze this data, we need to select a suitable database management system.
Expand Down
40 changes: 40 additions & 0 deletions ADRs/ADR-12-OrchestratorEngine.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# ADR-12: Orchestration engine for HR system integration

## Date:
2014-09-30

## Status:
Accepted

## Context
The business model charges a fee for sending candidates 'original resumes to employers' HR systems. To support this, the team must build multiple HR system integrations with the flexibility to add more as needed.

## Decision
We decided to develop a custom orchestration engine utilizing available connector and orchestration libraries. This approach allows us to expand without worrying about service limitations. Additionally, Kafka will be used as an event store to handle asynchronous operations.


## Rationale
After evaluating several platforms and services for this workflow with various HR systems, we found none that met our requirements without significant customization or high costs. As a result, building our own orchestration engine provides the flexibility to meet future needs without service constraints.

## Consequences:
### Pros:
- **Full Control and Customization:** We can tailor the system exactly to our needs, with the flexibility to modify, extend, or integrate as required without external restrictions.
- **No Vendor Lock-In:** By developing in-house, we avoid dependency on external vendors and their pricing or business changes.
- **Enhanced Security and Compliance:** Custom solutions allow for fine-grained control over security and compliance, critical for meeting specific legal or business needs.

### Cons:
- **High Initial Costs:** Building a custom solution typically requires significant upfront investment in development, infrastructure, and talent.
- **Longer Development Time:** A custom solution generally takes longer to develop and deploy, potentially delaying time-to-market.
- **Maintenance Burden:** Continuous support, updates, and scaling must be managed in-house, which adds to operational overhead.


## Alternatives Considered
Here are some popular orchestration and workflow platforms that can help integrate HR systems like SuccessFactors, UKG Pro, Paycor, Workday, Gusto, and others:

- Workato: Offers robust integration and automation for connecting various HR systems, allowing smooth data flow between platforms such as Workday and SuccessFactors.
- MuleSoft: Provides API-based integration solutions, enabling seamless connections with HR systems like UKG Pro and Workday. It also allows for easy management of workflows across different platforms.
- Zapier: Ideal for smaller businesses, Zapier can automate tasks and create workflows between different HR platforms, including Gusto and Paycor.
- Tray.io: A flexible automation platform for integrating enterprise HR systems like SuccessFactors, UKG Pro, and others, offering custom workflow management.

While these platforms offer functionality, they all have limited connectors and require significant customization. Additionally, security concerns arise with sending original resumes, making a custom solution the best fit for our needs.

24 changes: 0 additions & 24 deletions ADRs/ADR-12-OrchestratorEngine.md Integration.md

This file was deleted.

5 changes: 3 additions & 2 deletions ADRs/ADR-15-Kafka as event broker.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Implementing Event Broker for Event-Driven Architecture.The system is designed w

## Decision:
We will use Apache Kafka as the event broker for handling real-time event streaming and communication between microservices in the application.
Context:


## Alternatives
Considered Options:
Expand All @@ -23,6 +23,7 @@ Good for complex routing and message queuing.
Cons:
Limited scalability compared to Kafka for large-scale event streaming.
Lower throughput for large, real-time data processing tasks.

AWS SQS/SNS
Pros:
Fully managed service; minimal operational overhead.
Expand All @@ -38,5 +39,5 @@ High throughput and low latency.
Strong support for stream processing.
Widely adopted and has a strong community.
## Cons:
Operational complexity; requires more effort to manage and monitor.
Operational complexity, requires more effort to manage and monitor.
Message ordering is only guaranteed per partition.
3 changes: 1 addition & 2 deletions ADRs/ADR-16-Business Intelligence.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
## Status:
Accepted

## Context

## Context:
The organization requires a Business Intelligence (BI) solution to analyze data, generate insights, and create reports for various stakeholders. The solution must be scalable, user-friendly, and capable of integrating with existing data sources.

### Key factors considered:
Expand Down
9 changes: 5 additions & 4 deletions ADRs/ADR-18-Object-Store.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
## ADR 18: Object Store for Storing Resume Data
# ADR 18: Object Store for Storing Resume Data

## Date:
2024-10-15
2024-09-30

## Status: Accepted
## Status:
Accepted

## Context
## Context:
The HR Orchestrator engine aims to manage resume as a key data component. Storing resume data efficiently and securely is crucial for facilitating quick access and searchability while ensuring compliance with data privacy regulations.

## Decision
Expand Down
25 changes: 11 additions & 14 deletions ADRs/ADR-19-Architecture-Characteristics.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
Here is the Architecture Decision Record (ADR) for the ClearView recruitment system:
# ADR 19: Architecture Characteristics for ClearView System

---
## Date:
2024-09-30

### ADR: Architecture Characteristics for ClearView System
## Status:
Accepted

#### **Date**:
2024-10-15
#### **Status**:
Approved

#### **Context**
## Context:
The ClearView application aims to provide an intelligent recruitment platform that leverages AI LLM (Large Language Model) for resume recommendations, candidate scoring, and job matching while integrating seamlessly with multiple HRMS (Human Resource Management Systems) platforms. Given the sensitivity of data, the complexity of workflows, and the need for personalized and adaptive experiences, the architectural design must prioritize security, performance, and interoperability. These characteristics will address the system's requirements for handling large datasets, real-time AI interactions, and seamless integrations with external HRMS.

### Architectural Characteristics
Expand Down Expand Up @@ -74,10 +71,10 @@ The ClearView application aims to provide an intelligent recruitment platform th

### Top Three Architectural Characteristics

1. **Security**:
- Protects sensitive data and AI insights.
- Complies with data privacy regulations.
- Prevents unauthorized access and data breaches.
1. **Scalability**:
- Supports growing business demands by efficiently managing increased data and traffic.
- Ensures that AI processing can expand to handle more complex tasks and larger datasets.
- Enables the system to dynamically adjust resources to maintain performance during these high-demand periods.

2. **Performance**:
- Ensures low-latency interactions with AI and HRMS systems.
Expand Down Expand Up @@ -105,4 +102,4 @@ The ClearView application aims to provide an intelligent recruitment platform th
- **Negative**:
- Initial setup may be complex due to security configurations and integration requirements.
- AI-driven processing can be resource-intensive, potentially increasing costs.
- High degree of complexity in managing workflows with multiple integrations.
- High degree of complexity in managing workflows with multiple integrations.
16 changes: 9 additions & 7 deletions ADRs/ADR-20-Architecture-Style.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
## ADR: Event-Driven Architecture with Microservices for ClearView System
# ADR 20: Event-Driven Architecture with Microservices for ClearView System

#### **Date**:
2024-10-15
#### **Status**:
Approved
### Context
## Date:
2024-09-30

## Status:
Accepted

## Context:
The ClearView recruitment system aims to provide a robust, scalable, and high-performing platform that integrates with multiple HRMS systems while leveraging AI LLMs for resume recommendations, candidate scoring, and job matching. The following architectural characteristics are critical for the system:
1. **Scalability** – The system must dynamically handle varying loads, including fluctuating numbers of candidates, job postings, and integrations.
2. **Performance** – Low latency and fast processing are required for real-time AI-driven recommendations, data fetching from HRMS systems, and user interactions.
Expand Down Expand Up @@ -65,4 +67,4 @@ Microservices are used to complement the event-driven approach for the following
3. **SOA (Service-Oriented Architecture)**: Rejected as it does not provide the same level of decoupling and real-time processing efficiency as EDA combined with microservices.

### Decision Outcome
The event-driven architecture with microservices approach has been approved for the ClearView recruitment system. This architecture aligns well with the requirements for scalability, performance, and interoperability, ensuring a robust and adaptable system.
The event-driven architecture with microservices approach has been approved for the ClearView recruitment system. This architecture aligns well with the requirements for scalability, performance, and interoperability, ensuring a robust and adaptable system.
Loading

0 comments on commit b74c2dc

Please sign in to comment.