Git Product home page Git Product logo

arch-katas-dcc's Introduction

Spotlight Platform

Final Presentation

Video

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 View as pdf

Physical View

Image

View as pdf

For better navigation on the content, use this miro frame

Platform Road map

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

arch-katas-dcc's People

Contributors

ashish-das avatar das-ashish avatar pranava29 avatar saivenvem avatar vasanthkumar97 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.