Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create uml diagram of frontend/backend #236

Open
3 tasks
Aveline-art opened this issue Apr 29, 2022 · 5 comments
Open
3 tasks

Create uml diagram of frontend/backend #236

Aveline-art opened this issue Apr 29, 2022 · 5 comments
Labels
feature: Architecture Pertains to project architecture and settings PBV: dev all issues for engineering roles (devops, backend, frontend, db) role: backend Pertains to backend tasks size: 2pt Can be done in 7-12 hours

Comments

@Aveline-art
Copy link
Member

Aveline-art commented Apr 29, 2022

Overview

As a developer we need to provide diagrams that helps the team make sense of our growing project. For this issue we will make a uml diagram of our front and backend design.

Action Items

  • Create a diagram using github's mermaid syntax
  • Add this diagram to our mkdocs assets
  • Have a link to it on our front/backend architecture wiki and somewhere in our README.md

Resources/Instructions

Resources

README.md
Include diagrams in your Markdown files with Mermaid

Note: Since mermaid rendering is native to GitHub, feel free to use a comment in this issue as a space to R&D before drafting and committing the files.

@Aveline-art Aveline-art added role: backend Pertains to backend tasks size: 2pt Can be done in 7-12 hours feature: Architecture Pertains to project architecture and settings ready for milestone labels Apr 29, 2022
@Aveline-art
Copy link
Member Author

Aveline-art commented May 1, 2022

Backend dataflow

flowchart LR
    frontend(Frontend)
    style frontend fill:orange

    backend([CTJ Backend])
    style backend fill:lightblue

    pgdb[(CTJ Database)]
    style pgdb fill:lightgrey

    pplDepot([People Depot Backend ?])
    style pplDepot fill:lightblue

    frontend -- query --> backend
    backend -- query --> pgdb
    pgdb -- data --> backend
    backend -- opportunity data --> frontend
    frontend -. query .-> pplDepot
    pplDepot -. project data, role data, login data .-> frontend
Loading

Legend

flowchart TD
    frontend(frontend)
    style frontend fill:orange

    backend([Backend])
    style backend fill:lightblue

    db[(Database)]
    style db fill:lightgrey

    A[internal tool] --- B[internal tool]
    C[internal tool] -.- D[external tool]
Loading

@Aveline-art
Copy link
Member Author

Aveline-art commented May 1, 2022

Frontend dataflow (volunteers)

flowchart LR
    qualifierPg(Qualifier Page)
    style qualifierPg fill:orange

    searchPg(Search Page)
    style searchPg fill:orange

    loginPg(Login Page)
    style loginPg fill:orange

    signupPg(Signup Page)
    style signupPg fill:orange

    setOfPages(((Frontend Pages*)))
    style setOfPages fill:orange

    backend[to CTJ Backend]

    pplDepot1[to People Depot]
    pplDepot3[to People Depot]

    pplDepot1 <== query for login data ==> loginPg 
    pplDepot1 <== query for login data ==> signupPg 
    loginPg & signupPg -- login credentials --> setOfPages
    setOfPages ---> qualifierPg
    setOfPages -- "(if logged in) qualifiers" --> searchPg
    qualifierPg -- qualifiers --> searchPg
    searchPg <== query for opportunity data ==> backend
    searchPg <== query for role data, project data ==> pplDepot3
Loading
*Note: Frontend pages are a set of pages including the landing, qualifier, and search page

Legend

flowchart TD
    frontend(frontend)
    style frontend fill:orange

    frontendPgs(((frontend)))
    style frontendPgs fill:orange

    A[frontend] --- B[frontend]
    C[frontend] === D[backend]
Loading

@Aveline-art
Copy link
Member Author

Aveline-art commented May 1, 2022

Frontend/backend dataflow

Possible user states:

  • Not logged in
  • (new) Logged in but not oriented
  • (new) Logged in and oriented
  • (project) Logged in
flowchart TD
    qualifierPg(Qualifier Page)
    style qualifierPg fill:orange

    searchPg(Search Page)
    style searchPg fill:orange

    loginPg(Login Page)
    style loginPg fill:orange

    signupPg(Signup Page)
    style signupPg fill:orange

    setOfPages(((Frontend Pages*)))
    style setOfPages fill:orange

    backend([CTJ Backend])
    style backend fill:lightblue

    pgdb[(CTJ Database)]
    style pgdb fill:lightgrey

    pplDepot1([People Depot Backend ?])
    style pplDepot1 fill:lightblue

    pplDepot2([People Depot Backend ?])
    style pplDepot2 fill:lightblue

    subgraph graphLogin[Login Feature]
      pplDepot1 <-. query for login data .-> loginPg & signupPg
    end
    loginPg & signupPg --- cred1[login credentials] --- setOfPages 

    subgraph graphSearch[Search Results Feature]
      qualifierPg -- qualifiers --> searchPg
      searchPg <-- query for opportunity data --> backend
      searchPg <-. query for role, project data .-> pplDepot2
      pplDepot2
      backend <-- query for opportunity data --> pgdb
    end
    setOfPages --- qualifierPg
    setOfPages -- "(if logged in) qualifiers" --- searchPg

    subgraph graphProfile[Project Profile Feature]
      ??? & ???? --> ?????
    end
    setOfPages -- "(if logged in)" --- ??? & ????
Loading
*Note: Frontend pages are a set of pages including the landing, qualifier, and search page

Legend

flowchart TD
    frontend(frontend)
    style frontend fill:orange

    backend([Backend])
    style backend fill:lightblue

    db[(Database)]
    style db fill:lightgrey

    A[internal tool] --- B[internal tool]
    C[internal tool] -.- D[external tool]
Loading

@sdimran
Copy link
Member

sdimran commented May 10, 2022

This is an excellent ticket @Aveline-art. will be very useful to understand the data flow. my apologies for the delay on clearing this one i thought i had previously

@Aveline-art
Copy link
Member Author

flowchart TD
    qualifierPg(Qualifier Page)
    style qualifierPg fill:orange

    searchPg(Search Page)
    style searchPg fill:orange

    loginPg(Login Page)
    style loginPg fill:orange

    signupPg(Signup Page)
    style signupPg fill:orange

    setOfPages(((Frontend Pages*)))
    style setOfPages fill:orange

    backend([CTJ Backend])
    style backend fill:lightblue

    pgdb[(CTJ Database)]
    style pgdb fill:lightgrey

    pplDepot1([People Depot Backend ?])
    style pplDepot1 fill:lightblue

    pplDepot2([People Depot Backend ?])
    style pplDepot2 fill:lightblue

    subgraph graphLogin[Login Feature]
      pplDepot1 <-. query for login data .-> loginPg & signupPg
    end
    loginPg & signupPg --- cred1[login credentials] --- setOfPages 

    subgraph graphSearch[Search Results Feature]
      qualifierPg -- qualifiers --> searchPg
      searchPg <-- query for opportunity data --> backend
      searchPg <-. query for role, project data .-> pplDepot2
      pplDepot2
      backend <-- query for opportunity data --> pgdb
    end
    setOfPages --- qualifierPg
    setOfPages -- "(if logged in) qualifiers" --- searchPg

    subgraph graphProfile[Project Profile Feature]
      ??? & ???? --> ?????
    end
    setOfPages -- "(if logged in)" --- ??? & ????

@Aveline-art Aveline-art self-assigned this May 12, 2023
@ExperimentsInHonesty ExperimentsInHonesty added the PBV: dev all issues for engineering roles (devops, backend, frontend, db) label Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: Architecture Pertains to project architecture and settings PBV: dev all issues for engineering roles (devops, backend, frontend, db) role: backend Pertains to backend tasks size: 2pt Can be done in 7-12 hours
Projects
Status: 📋 Prioritized Backlog
Development

No branches or pull requests

3 participants