- About Team PegasuZ
- Glossary
- Prelude
- Non-functional requirements
- Overall Platform Context
- User Experience
- Assumptions
- User Roles
- Identifying Architectural Quanta
- Overall Architecture
- Platform Road map
- Call Flow diagrams
- Engineering Practices
- Resources
We are a passionate group of software engineers & product managers from an innovation as a service organization Zemoso.
- Pranava Shashank P (Part of TeamZ which got an honorable mention in Architectural Katas April 2021 - Repo)
- Naveen Chevuru
- Ashish Kumar Das
- Sai Venkatesh Vemuri
- Vasanth Kumar
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".
- 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
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.
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.
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.
For better navigation on the content, use this miro frame
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:
https://www.loom.com/share/7d1540ecfed24c0191f7087d7a747260
https://www.loom.com/share/2f3be1ded8bd438e958ffd8cc9595e83
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) |
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).
- 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
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.
For better navigation on the content, use this miro frame
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):
- NPO - Candidate quantum (Modular Monolith)
- Base platform infrastructure
- CI / CD pipelines with continuous delivery.
- Logging
- Monitoring
- BFF Service
- Document quantum
- Chat quantum
- Notification quantum
- Meetings quantum
- Reports quantum - Without Analytics
- Recommendations quantum - Simple, without model training
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