Skip to content

2022 Spring 1st place winners, O'Reilly Software Architecture Kata

Notifications You must be signed in to change notification settings

TheKataLog/Pegasuz

 
 

Repository files navigation

O'reilly Architectural Katas - Spring 2022 - Spotlight Platform

Update

Thank you judges for the valuable feedback and the entire O'reilly team for organizing the event. It was a great learning experience just to be part of the event and looking at the perspectives of all the participating teams.

Winners (First Place) - O'Reilly Architecture Katas Spring 2022

Final Presentation

Loom Link

Prezi Link

Table of Contents

About Team PegasuZ

We are a passionate group of software engineers & product managers from an innovation as a service organization Zemoso.

PegasuZ = [Pegasu]s + [Z]emoso

The name PegasuZ is a combination of the words "Pegasus" (which reflects progression) and "Zemoso" (since the team members are from Zemoso).

We felt that the Spotlight platform would enable Candidates to progress in their career and hence we went with the mythical creature, "Pegasus".

Glossary

  • NPO / NP - Both acronyms are used to refer to non-profit organizations.
  • NFR - Non-functional requirement
  • MVP - Minimum Viable Product
  • PII - Personal Identifiable Information
  • UI - User Interface
  • UX - User Experience
  • IA - Information Architecture

Prelude

There are about 1.6 million non-profit organizations [Source] and more than 100 million underrepresented people [Source] in the US. But the problem today is that these NPOs are decentralized and there is no support / framework for active collaboration. Also, lack of visibility of the NPOs creates a barrier of access to the underrepresented demographics.

Let's imagine a use case - A candidate plans to enrol for a course in an institution in City A, away from his home city. He would need to travel to City A, find an affordable place to stay, search for places to get groceries and food, etc. Also, after completion of the course, he would need to prepare for interviews and get placed. Without a centralized system and collaboration between NPOs, the candidate may end up spending a lot more than what he can afford and his career path / shift may not be feasible.

The number of NPOs and underrepresented people mentioned above are quite large and provide tremendous opportunities to build a platform to enable the collaboration.

Diversity Cyber Council has come forward with a vision to enhance inclusion and representation in the tech industry through training, mentoring, networking, and visibility programs.

Goal of the platform

To establish a sustainable and diverse talent pipeline that extends career equity to underrepresented demographics by providing access to competent training programs that lead to direct employment opportunities.

Non-Functional Requirements

After the detailed analysis of business requirements, the team has come up with the below NFRs for the platform

  • Workflow
  • Evolutionary
  • Feasibility
  • Scalability
  • Usability
  • Availability
  • Data Integrity

Since the proposal is a platform, the platform could be composed of several architectural quanta, each with its own architectural style. So, we are not picking a style yet.

Overall Platform Context

Image

For better navigation on the content, use this miro frame

User experience

The team went through a design thinking exercise to understand the Candidate and NP user profiles, and empathize their needs and pain points. The following golden paths were considered:

Design artifacts

Candidate Golden Path

Image

https://www.loom.com/share/7d1540ecfed24c0191f7087d7a747260

Non-Profit Golden Path

Image

https://www.loom.com/share/2f3be1ded8bd438e958ffd8cc9595e83

Assumptions

Capacity planning

Going by the no. of NPOs and under represented demographics mentioned in Prelude, we decided to design the system for the following capacity:

Time Candidates NPOs Locations
3 months 5k-10k 500-1k 1 State - 1 City
6 months 10k - 50k 1k - 5k 1 State - 1 City
1 year 50k - 100k 5k - 20k US 2-3 States (Region)
2 years ~ 500k 25k - 50k US Multiple States (Regions)
3 years ~1 mil ~ 100k US Multiple States (Regions)

Availability

Since Spotlight is not a public safety or mission critical (dealing with lives or money directly) platform, 5 nines (99.999% - 5.2 minutes of downtime per year) is unreasonable and 4 nines would also be an overkill (99.99% - 52.5 minutes of downtime per year).

So, we decided to design the system for an availability between 3 nines (for quanta which do not have synchronous dependencies, like reporting and analytics) and 4 nines (for quanta which have synchronous dependencies, like notifications).

Reference

User Roles

  • PLATFORM_ADMIN (associated with the Spotlight Platform)
  • COMMUNITY_LEADER (associated with the Spotlight Platform)
  • NP_ADMIN (associated with the NPO)
  • NP_USER (associated with the NPO) - Can be NPO offering's mentor
  • CANDIDATE

Identifying Architectural Quanta

Architecture quantum - An independently deployable artifact with high functional cohesion and synchronous connascence

Quanta identification helps in defining different parts of the platform and the scope of architectural characteristics. We followed a mixture of event storming + actor-action approach to identify aggregates, components and quanta.

Click here for more details on the exercise.

Quanta

Other Services

Overall Architecture

Logical View

Image

Physical View

Image

For better navigation on the content, use this miro frame

Platform Roadmap

MVP

The MVP is envisioned to bring out the unique value proposition of the platform and solve the key business problem / pain points. It should be sufficient for the business to get market feedback and pivot, if needed.

Areas to be addressed (In the order of priority):

  1. NPO - Candidate quantum (Modular Monolith)
  2. Base platform infrastructure
    • CI / CD pipelines with continuous delivery.
    • Logging
    • Monitoring
  3. BFF Service
  4. Document quantum
  5. Chat quantum
  6. Notification quantum
  7. Meetings quantum
  8. Reports quantum - Without Analytics
  9. Recommendations quantum - Simple, without model training

Long Term

Areas to be addressed:

  • NPO - Candidate quantum (migrate to Microservices + Event Driven)
  • Reports quantum - Advanced predictive analytics
  • Recommendations quantum - with model training
  • NPO Integrations
  • Support Service

Engineering Practices

Resources

Releases

No releases published

Packages

No packages published