Spaces:
Running
Running
| <!-- Generated by graphviz version 2.43.0 (0) | |
| --> | |
| <!-- Title: WBSDiagram Pages: 1 --> | |
| <svg width="1421pt" height="582pt" | |
| viewBox="0.00 0.00 1420.50 582.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | |
| <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 546)"> | |
| <title>WBSDiagram</title> | |
| <polygon fill="white" stroke="transparent" points="-36,36 -36,-546 1384.5,-546 1384.5,36 -36,36"/> | |
| <!-- project_root --> | |
| <g id="node1" class="node"> | |
| <title>project_root</title> | |
| <path fill="#bebebe" stroke="black" d="M899,-510C899,-510 513,-510 513,-510 507,-510 501,-504 501,-498 501,-498 501,-486 501,-486 501,-480 507,-474 513,-474 513,-474 899,-474 899,-474 905,-474 911,-480 911,-486 911,-486 911,-498 911,-498 911,-504 905,-510 899,-510"/> | |
| <text text-anchor="middle" x="706" y="-487.6" font-family="Times,serif" font-size="18.00">AI-Powered Fitness Companion Mobile App</text> | |
| </g> | |
| <!-- phase_discovery --> | |
| <g id="node2" class="node"> | |
| <title>phase_discovery</title> | |
| <path fill="#c1c1c1" stroke="black" d="M172.5,-431C172.5,-431 45.5,-431 45.5,-431 39.5,-431 33.5,-425 33.5,-419 33.5,-419 33.5,-407 33.5,-407 33.5,-401 39.5,-395 45.5,-395 45.5,-395 172.5,-395 172.5,-395 178.5,-395 184.5,-401 184.5,-407 184.5,-407 184.5,-419 184.5,-419 184.5,-425 178.5,-431 172.5,-431"/> | |
| <text text-anchor="middle" x="109" y="-409.9" font-family="Times,serif" font-size="12.00">Discovery & Research</text> | |
| </g> | |
| <!-- project_root->phase_discovery --> | |
| <g id="edge1" class="edge"> | |
| <title>project_root->phase_discovery</title> | |
| <path fill="none" stroke="#4a4a4a" d="M500.96,-498C328.21,-498 109,-498 109,-498 109,-498 109,-455.98 109,-431.03"/> | |
| </g> | |
| <!-- phase_design --> | |
| <g id="node8" class="node"> | |
| <title>phase_design</title> | |
| <path fill="#c1c1c1" stroke="black" d="M407.5,-431C407.5,-431 240.5,-431 240.5,-431 234.5,-431 228.5,-425 228.5,-419 228.5,-419 228.5,-407 228.5,-407 228.5,-401 234.5,-395 240.5,-395 240.5,-395 407.5,-395 407.5,-395 413.5,-395 419.5,-401 419.5,-407 419.5,-407 419.5,-419 419.5,-419 419.5,-425 413.5,-431 407.5,-431"/> | |
| <text text-anchor="middle" x="324" y="-409.9" font-family="Times,serif" font-size="12.00">UI/UX Design & Architecture</text> | |
| </g> | |
| <!-- project_root->phase_design --> | |
| <g id="edge7" class="edge"> | |
| <title>project_root->phase_design</title> | |
| <path fill="none" stroke="#4a4a4a" d="M500.74,-486C410.22,-486 324,-486 324,-486 324,-486 324,-452.66 324,-431.04"/> | |
| </g> | |
| <!-- phase_backend --> | |
| <g id="node14" class="node"> | |
| <title>phase_backend</title> | |
| <path fill="#c1c1c1" stroke="black" d="M698,-431C698,-431 468,-431 468,-431 462,-431 456,-425 456,-419 456,-419 456,-407 456,-407 456,-401 462,-395 468,-395 468,-395 698,-395 698,-395 704,-395 710,-401 710,-407 710,-407 710,-419 710,-419 710,-425 704,-431 698,-431"/> | |
| <text text-anchor="middle" x="583" y="-409.9" font-family="Times,serif" font-size="12.00">Backend Development & AI Integration</text> | |
| </g> | |
| <!-- project_root->phase_backend --> | |
| <g id="edge13" class="edge"> | |
| <title>project_root->phase_backend</title> | |
| <path fill="none" stroke="#4a4a4a" d="M605.5,-473.68C605.5,-460.91 605.5,-443.96 605.5,-431.22"/> | |
| </g> | |
| <!-- phase_frontend --> | |
| <g id="node20" class="node"> | |
| <title>phase_frontend</title> | |
| <path fill="#c1c1c1" stroke="black" d="M902,-431C902,-431 758,-431 758,-431 752,-431 746,-425 746,-419 746,-419 746,-407 746,-407 746,-401 752,-395 758,-395 758,-395 902,-395 902,-395 908,-395 914,-401 914,-407 914,-407 914,-419 914,-419 914,-425 908,-431 902,-431"/> | |
| <text text-anchor="middle" x="830" y="-409.9" font-family="Times,serif" font-size="12.00">Mobile App Development</text> | |
| </g> | |
| <!-- project_root->phase_frontend --> | |
| <g id="edge19" class="edge"> | |
| <title>project_root->phase_frontend</title> | |
| <path fill="none" stroke="#4a4a4a" d="M828.5,-473.68C828.5,-460.91 828.5,-443.96 828.5,-431.22"/> | |
| </g> | |
| <!-- phase_testing --> | |
| <g id="node26" class="node"> | |
| <title>phase_testing</title> | |
| <path fill="#c1c1c1" stroke="black" d="M1126,-431C1126,-431 962,-431 962,-431 956,-431 950,-425 950,-419 950,-419 950,-407 950,-407 950,-401 956,-395 962,-395 962,-395 1126,-395 1126,-395 1132,-395 1138,-401 1138,-407 1138,-407 1138,-419 1138,-419 1138,-425 1132,-431 1126,-431"/> | |
| <text text-anchor="middle" x="1044" y="-409.9" font-family="Times,serif" font-size="12.00">Testing & Quality Assurance</text> | |
| </g> | |
| <!-- project_root->phase_testing --> | |
| <g id="edge25" class="edge"> | |
| <title>project_root->phase_testing</title> | |
| <path fill="none" stroke="#4a4a4a" d="M911.38,-486C982.16,-486 1044,-486 1044,-486 1044,-486 1044,-452.66 1044,-431.04"/> | |
| </g> | |
| <!-- phase_deployment --> | |
| <g id="node32" class="node"> | |
| <title>phase_deployment</title> | |
| <path fill="#c1c1c1" stroke="black" d="M1316,-431C1316,-431 1188,-431 1188,-431 1182,-431 1176,-425 1176,-419 1176,-419 1176,-407 1176,-407 1176,-401 1182,-395 1188,-395 1188,-395 1316,-395 1316,-395 1322,-395 1328,-401 1328,-407 1328,-407 1328,-419 1328,-419 1328,-425 1322,-431 1316,-431"/> | |
| <text text-anchor="middle" x="1252" y="-409.9" font-family="Times,serif" font-size="12.00">Deployment & Launch</text> | |
| </g> | |
| <!-- project_root->phase_deployment --> | |
| <g id="edge31" class="edge"> | |
| <title>project_root->phase_deployment</title> | |
| <path fill="none" stroke="#4a4a4a" d="M911.25,-498C1066.1,-498 1252,-498 1252,-498 1252,-498 1252,-455.98 1252,-431.03"/> | |
| </g> | |
| <!-- task_1_1_market_research --> | |
| <g id="node3" class="node"> | |
| <title>task_1_1_market_research</title> | |
| <path fill="#c5c5c5" stroke="black" d="M176,-352C176,-352 12,-352 12,-352 6,-352 0,-346 0,-340 0,-340 0,-328 0,-328 0,-322 6,-316 12,-316 12,-316 176,-316 176,-316 182,-316 188,-322 188,-328 188,-328 188,-340 188,-340 188,-346 182,-352 176,-352"/> | |
| <text text-anchor="middle" x="94" y="-331.5" font-family="Times,serif" font-size="10.00">Market Analysis & User Research</text> | |
| </g> | |
| <!-- phase_discovery->task_1_1_market_research --> | |
| <g id="edge2" class="edge"> | |
| <title>phase_discovery->task_1_1_market_research</title> | |
| <path fill="none" stroke="#4a4a4a" d="M109,-394.68C109,-381.91 109,-364.96 109,-352.22"/> | |
| </g> | |
| <!-- subtask_1_1_1_competitor_analysis --> | |
| <g id="node4" class="node"> | |
| <title>subtask_1_1_1_competitor_analysis</title> | |
| <path fill="#c9c9c9" stroke="black" d="M156.5,-273C156.5,-273 31.5,-273 31.5,-273 25.5,-273 19.5,-267 19.5,-261 19.5,-261 19.5,-249 19.5,-249 19.5,-243 25.5,-237 31.5,-237 31.5,-237 156.5,-237 156.5,-237 162.5,-237 168.5,-243 168.5,-249 168.5,-249 168.5,-261 168.5,-261 168.5,-267 162.5,-273 156.5,-273"/> | |
| <text text-anchor="middle" x="94" y="-252.8" font-family="Times,serif" font-size="9.00">Competitor Feature Analysis</text> | |
| </g> | |
| <!-- task_1_1_market_research->subtask_1_1_1_competitor_analysis --> | |
| <g id="edge3" class="edge"> | |
| <title>task_1_1_market_research->subtask_1_1_1_competitor_analysis</title> | |
| <path fill="none" stroke="#4a4a4a" d="M94,-315.68C94,-302.91 94,-285.96 94,-273.22"/> | |
| </g> | |
| <!-- ss_task_1_1_1_1_user_personas --> | |
| <g id="node5" class="node"> | |
| <title>ss_task_1_1_1_1_user_personas</title> | |
| <path fill="#cdcdcd" stroke="black" d="M153,-194C153,-194 35,-194 35,-194 29,-194 23,-188 23,-182 23,-182 23,-170 23,-170 23,-164 29,-158 35,-158 35,-158 153,-158 153,-158 159,-158 165,-164 165,-170 165,-170 165,-182 165,-182 165,-188 159,-194 153,-194"/> | |
| <text text-anchor="middle" x="94" y="-173.8" font-family="Times,serif" font-size="9.00">User Persona Development</text> | |
| </g> | |
| <!-- subtask_1_1_1_competitor_analysis->ss_task_1_1_1_1_user_personas --> | |
| <g id="edge4" class="edge"> | |
| <title>subtask_1_1_1_competitor_analysis->ss_task_1_1_1_1_user_personas</title> | |
| <path fill="none" stroke="#4a4a4a" d="M94,-236.68C94,-223.91 94,-206.96 94,-194.22"/> | |
| </g> | |
| <!-- sss_task_1_1_1_1_1_user_interviews --> | |
| <g id="node6" class="node"> | |
| <title>sss_task_1_1_1_1_1_user_interviews</title> | |
| <path fill="#d1d1d1" stroke="black" d="M148,-115C148,-115 40,-115 40,-115 34,-115 28,-109 28,-103 28,-103 28,-91 28,-91 28,-85 34,-79 40,-79 40,-79 148,-79 148,-79 154,-79 160,-85 160,-91 160,-91 160,-103 160,-103 160,-109 154,-115 148,-115"/> | |
| <text text-anchor="middle" x="94" y="-94.8" font-family="Times,serif" font-size="9.00">Conduct User Interviews</text> | |
| </g> | |
| <!-- ss_task_1_1_1_1_user_personas->sss_task_1_1_1_1_1_user_interviews --> | |
| <g id="edge5" class="edge"> | |
| <title>ss_task_1_1_1_1_user_personas->sss_task_1_1_1_1_1_user_interviews</title> | |
| <path fill="none" stroke="#4a4a4a" d="M94,-157.68C94,-144.91 94,-127.96 94,-115.22"/> | |
| </g> | |
| <!-- ft_1_1_1_1_1_1_insights_synthesis --> | |
| <g id="node7" class="node"> | |
| <title>ft_1_1_1_1_1_1_insights_synthesis</title> | |
| <path fill="#d5d5d5" stroke="black" d="M147.5,-36C147.5,-36 40.5,-36 40.5,-36 34.5,-36 28.5,-30 28.5,-24 28.5,-24 28.5,-12 28.5,-12 28.5,-6 34.5,0 40.5,0 40.5,0 147.5,0 147.5,0 153.5,0 159.5,-6 159.5,-12 159.5,-12 159.5,-24 159.5,-24 159.5,-30 153.5,-36 147.5,-36"/> | |
| <text text-anchor="middle" x="94" y="-15.8" font-family="Times,serif" font-size="9.00">Synthesize User Insights</text> | |
| </g> | |
| <!-- sss_task_1_1_1_1_1_user_interviews->ft_1_1_1_1_1_1_insights_synthesis --> | |
| <g id="edge6" class="edge"> | |
| <title>sss_task_1_1_1_1_1_user_interviews->ft_1_1_1_1_1_1_insights_synthesis</title> | |
| <path fill="none" stroke="#4a4a4a" d="M94,-78.68C94,-65.91 94,-48.96 94,-36.22"/> | |
| </g> | |
| <!-- task_2_1_wireframing --> | |
| <g id="node9" class="node"> | |
| <title>task_2_1_wireframing</title> | |
| <path fill="#c5c5c5" stroke="black" d="M428,-352C428,-352 236,-352 236,-352 230,-352 224,-346 224,-340 224,-340 224,-328 224,-328 224,-322 230,-316 236,-316 236,-316 428,-316 428,-316 434,-316 440,-322 440,-328 440,-328 440,-340 440,-340 440,-346 434,-352 428,-352"/> | |
| <text text-anchor="middle" x="332" y="-331.5" font-family="Times,serif" font-size="10.00">Information Architecture & Wireframes</text> | |
| </g> | |
| <!-- phase_design->task_2_1_wireframing --> | |
| <g id="edge8" class="edge"> | |
| <title>phase_design->task_2_1_wireframing</title> | |
| <path fill="none" stroke="#4a4a4a" d="M324,-394.68C324,-381.91 324,-364.96 324,-352.22"/> | |
| </g> | |
| <!-- subtask_2_1_1_user_flow_design --> | |
| <g id="node10" class="node"> | |
| <title>subtask_2_1_1_user_flow_design</title> | |
| <path fill="#c9c9c9" stroke="black" d="M373.5,-273C373.5,-273 290.5,-273 290.5,-273 284.5,-273 278.5,-267 278.5,-261 278.5,-261 278.5,-249 278.5,-249 278.5,-243 284.5,-237 290.5,-237 290.5,-237 373.5,-237 373.5,-237 379.5,-237 385.5,-243 385.5,-249 385.5,-249 385.5,-261 385.5,-261 385.5,-267 379.5,-273 373.5,-273"/> | |
| <text text-anchor="middle" x="332" y="-252.8" font-family="Times,serif" font-size="9.00">User Flow Mapping</text> | |
| </g> | |
| <!-- task_2_1_wireframing->subtask_2_1_1_user_flow_design --> | |
| <g id="edge9" class="edge"> | |
| <title>task_2_1_wireframing->subtask_2_1_1_user_flow_design</title> | |
| <path fill="none" stroke="#4a4a4a" d="M332,-315.68C332,-302.91 332,-285.96 332,-273.22"/> | |
| </g> | |
| <!-- ss_task_2_1_1_1_interactive_prototypes --> | |
| <g id="node11" class="node"> | |
| <title>ss_task_2_1_1_1_interactive_prototypes</title> | |
| <path fill="#cdcdcd" stroke="black" d="M385,-194C385,-194 279,-194 279,-194 273,-194 267,-188 267,-182 267,-182 267,-170 267,-170 267,-164 273,-158 279,-158 279,-158 385,-158 385,-158 391,-158 397,-164 397,-170 397,-170 397,-182 397,-182 397,-188 391,-194 385,-194"/> | |
| <text text-anchor="middle" x="332" y="-173.8" font-family="Times,serif" font-size="9.00">High-Fidelity Prototypes</text> | |
| </g> | |
| <!-- subtask_2_1_1_user_flow_design->ss_task_2_1_1_1_interactive_prototypes --> | |
| <g id="edge10" class="edge"> | |
| <title>subtask_2_1_1_user_flow_design->ss_task_2_1_1_1_interactive_prototypes</title> | |
| <path fill="none" stroke="#4a4a4a" d="M332,-236.68C332,-223.91 332,-206.96 332,-194.22"/> | |
| </g> | |
| <!-- sss_task_2_1_1_1_1_usability_testing --> | |
| <g id="node12" class="node"> | |
| <title>sss_task_2_1_1_1_1_usability_testing</title> | |
| <path fill="#d1d1d1" stroke="black" d="M391.5,-115C391.5,-115 272.5,-115 272.5,-115 266.5,-115 260.5,-109 260.5,-103 260.5,-103 260.5,-91 260.5,-91 260.5,-85 266.5,-79 272.5,-79 272.5,-79 391.5,-79 391.5,-79 397.5,-79 403.5,-85 403.5,-91 403.5,-91 403.5,-103 403.5,-103 403.5,-109 397.5,-115 391.5,-115"/> | |
| <text text-anchor="middle" x="332" y="-94.8" font-family="Times,serif" font-size="9.00">Prototype Usability Testing</text> | |
| </g> | |
| <!-- ss_task_2_1_1_1_interactive_prototypes->sss_task_2_1_1_1_1_usability_testing --> | |
| <g id="edge11" class="edge"> | |
| <title>ss_task_2_1_1_1_interactive_prototypes->sss_task_2_1_1_1_1_usability_testing</title> | |
| <path fill="none" stroke="#4a4a4a" d="M332,-157.68C332,-144.91 332,-127.96 332,-115.22"/> | |
| </g> | |
| <!-- ft_2_1_1_1_1_1_design_validation --> | |
| <g id="node13" class="node"> | |
| <title>ft_2_1_1_1_1_1_design_validation</title> | |
| <path fill="#d5d5d5" stroke="black" d="M387,-36C387,-36 277,-36 277,-36 271,-36 265,-30 265,-24 265,-24 265,-12 265,-12 265,-6 271,0 277,0 277,0 387,0 387,0 393,0 399,-6 399,-12 399,-12 399,-24 399,-24 399,-30 393,-36 387,-36"/> | |
| <text text-anchor="middle" x="332" y="-15.8" font-family="Times,serif" font-size="9.00">Design System Validation</text> | |
| </g> | |
| <!-- sss_task_2_1_1_1_1_usability_testing->ft_2_1_1_1_1_1_design_validation --> | |
| <g id="edge12" class="edge"> | |
| <title>sss_task_2_1_1_1_1_usability_testing->ft_2_1_1_1_1_1_design_validation</title> | |
| <path fill="none" stroke="#4a4a4a" d="M332,-78.68C332,-65.91 332,-48.96 332,-36.22"/> | |
| </g> | |
| <!-- task_3_1_api_development --> | |
| <g id="node15" class="node"> | |
| <title>task_3_1_api_development</title> | |
| <path fill="#c5c5c5" stroke="black" d="M646.5,-352C646.5,-352 519.5,-352 519.5,-352 513.5,-352 507.5,-346 507.5,-340 507.5,-340 507.5,-328 507.5,-328 507.5,-322 513.5,-316 519.5,-316 519.5,-316 646.5,-316 646.5,-316 652.5,-316 658.5,-322 658.5,-328 658.5,-328 658.5,-340 658.5,-340 658.5,-346 652.5,-352 646.5,-352"/> | |
| <text text-anchor="middle" x="583" y="-331.5" font-family="Times,serif" font-size="10.00">RESTful API Development</text> | |
| </g> | |
| <!-- phase_backend->task_3_1_api_development --> | |
| <g id="edge14" class="edge"> | |
| <title>phase_backend->task_3_1_api_development</title> | |
| <path fill="none" stroke="#4a4a4a" d="M583,-394.68C583,-381.91 583,-364.96 583,-352.22"/> | |
| </g> | |
| <!-- subtask_3_1_1_database_design --> | |
| <g id="node16" class="node"> | |
| <title>subtask_3_1_1_database_design</title> | |
| <path fill="#c9c9c9" stroke="black" d="M638,-273C638,-273 528,-273 528,-273 522,-273 516,-267 516,-261 516,-261 516,-249 516,-249 516,-243 522,-237 528,-237 528,-237 638,-237 638,-237 644,-237 650,-243 650,-249 650,-249 650,-261 650,-261 650,-267 644,-273 638,-273"/> | |
| <text text-anchor="middle" x="583" y="-252.8" font-family="Times,serif" font-size="9.00">Database Schema Design</text> | |
| </g> | |
| <!-- task_3_1_api_development->subtask_3_1_1_database_design --> | |
| <g id="edge15" class="edge"> | |
| <title>task_3_1_api_development->subtask_3_1_1_database_design</title> | |
| <path fill="none" stroke="#4a4a4a" d="M583,-315.68C583,-302.91 583,-285.96 583,-273.22"/> | |
| </g> | |
| <!-- ss_task_3_1_1_1_ai_model_integration --> | |
| <g id="node17" class="node"> | |
| <title>ss_task_3_1_1_1_ai_model_integration</title> | |
| <path fill="#cdcdcd" stroke="black" d="M665,-194C665,-194 501,-194 501,-194 495,-194 489,-188 489,-182 489,-182 489,-170 489,-170 489,-164 495,-158 501,-158 501,-158 665,-158 665,-158 671,-158 677,-164 677,-170 677,-170 677,-182 677,-182 677,-188 671,-194 665,-194"/> | |
| <text text-anchor="middle" x="583" y="-173.8" font-family="Times,serif" font-size="9.00">Machine Learning Model Integration</text> | |
| </g> | |
| <!-- subtask_3_1_1_database_design->ss_task_3_1_1_1_ai_model_integration --> | |
| <g id="edge16" class="edge"> | |
| <title>subtask_3_1_1_database_design->ss_task_3_1_1_1_ai_model_integration</title> | |
| <path fill="none" stroke="#4a4a4a" d="M583,-236.68C583,-223.91 583,-206.96 583,-194.22"/> | |
| </g> | |
| <!-- sss_task_3_1_1_1_1_recommendation_engine --> | |
| <g id="node18" class="node"> | |
| <title>sss_task_3_1_1_1_1_recommendation_engine</title> | |
| <path fill="#d1d1d1" stroke="black" d="M658,-115C658,-115 508,-115 508,-115 502,-115 496,-109 496,-103 496,-103 496,-91 496,-91 496,-85 502,-79 508,-79 508,-79 658,-79 658,-79 664,-79 670,-85 670,-91 670,-91 670,-103 670,-103 670,-109 664,-115 658,-115"/> | |
| <text text-anchor="middle" x="583" y="-94.8" font-family="Times,serif" font-size="9.00">Workout Recommendation Engine</text> | |
| </g> | |
| <!-- ss_task_3_1_1_1_ai_model_integration->sss_task_3_1_1_1_1_recommendation_engine --> | |
| <g id="edge17" class="edge"> | |
| <title>ss_task_3_1_1_1_ai_model_integration->sss_task_3_1_1_1_1_recommendation_engine</title> | |
| <path fill="none" stroke="#4a4a4a" d="M583,-157.68C583,-144.91 583,-127.96 583,-115.22"/> | |
| </g> | |
| <!-- ft_3_1_1_1_1_1_ai_training --> | |
| <g id="node19" class="node"> | |
| <title>ft_3_1_1_1_1_1_ai_training</title> | |
| <path fill="#d5d5d5" stroke="black" d="M651.5,-36C651.5,-36 514.5,-36 514.5,-36 508.5,-36 502.5,-30 502.5,-24 502.5,-24 502.5,-12 502.5,-12 502.5,-6 508.5,0 514.5,0 514.5,0 651.5,0 651.5,0 657.5,0 663.5,-6 663.5,-12 663.5,-12 663.5,-24 663.5,-24 663.5,-30 657.5,-36 651.5,-36"/> | |
| <text text-anchor="middle" x="583" y="-15.8" font-family="Times,serif" font-size="9.00">Model Training & Optimization</text> | |
| </g> | |
| <!-- sss_task_3_1_1_1_1_recommendation_engine->ft_3_1_1_1_1_1_ai_training --> | |
| <g id="edge18" class="edge"> | |
| <title>sss_task_3_1_1_1_1_recommendation_engine->ft_3_1_1_1_1_1_ai_training</title> | |
| <path fill="none" stroke="#4a4a4a" d="M583,-78.68C583,-65.91 583,-48.96 583,-36.22"/> | |
| </g> | |
| <!-- task_4_1_react_native_setup --> | |
| <g id="node21" class="node"> | |
| <title>task_4_1_react_native_setup</title> | |
| <path fill="#c5c5c5" stroke="black" d="M897,-352C897,-352 745,-352 745,-352 739,-352 733,-346 733,-340 733,-340 733,-328 733,-328 733,-322 739,-316 745,-316 745,-316 897,-316 897,-316 903,-316 909,-322 909,-328 909,-328 909,-340 909,-340 909,-346 903,-352 897,-352"/> | |
| <text text-anchor="middle" x="821" y="-331.5" font-family="Times,serif" font-size="10.00">React Native Framework Setup</text> | |
| </g> | |
| <!-- phase_frontend->task_4_1_react_native_setup --> | |
| <g id="edge20" class="edge"> | |
| <title>phase_frontend->task_4_1_react_native_setup</title> | |
| <path fill="none" stroke="#4a4a4a" d="M827.5,-394.68C827.5,-381.91 827.5,-364.96 827.5,-352.22"/> | |
| </g> | |
| <!-- subtask_4_1_1_component_library --> | |
| <g id="node22" class="node"> | |
| <title>subtask_4_1_1_component_library</title> | |
| <path fill="#c9c9c9" stroke="black" d="M885,-273C885,-273 757,-273 757,-273 751,-273 745,-267 745,-261 745,-261 745,-249 745,-249 745,-243 751,-237 757,-237 757,-237 885,-237 885,-237 891,-237 897,-243 897,-249 897,-249 897,-261 897,-261 897,-267 891,-273 885,-273"/> | |
| <text text-anchor="middle" x="821" y="-252.8" font-family="Times,serif" font-size="9.00">Reusable Component Library</text> | |
| </g> | |
| <!-- task_4_1_react_native_setup->subtask_4_1_1_component_library --> | |
| <g id="edge21" class="edge"> | |
| <title>task_4_1_react_native_setup->subtask_4_1_1_component_library</title> | |
| <path fill="none" stroke="#4a4a4a" d="M821,-315.68C821,-302.91 821,-285.96 821,-273.22"/> | |
| </g> | |
| <!-- ss_task_4_1_1_1_state_management --> | |
| <g id="node23" class="node"> | |
| <title>ss_task_4_1_1_1_state_management</title> | |
| <path fill="#cdcdcd" stroke="black" d="M877,-194C877,-194 765,-194 765,-194 759,-194 753,-188 753,-182 753,-182 753,-170 753,-170 753,-164 759,-158 765,-158 765,-158 877,-158 877,-158 883,-158 889,-164 889,-170 889,-170 889,-182 889,-182 889,-188 883,-194 877,-194"/> | |
| <text text-anchor="middle" x="821" y="-173.8" font-family="Times,serif" font-size="9.00">Redux State Management</text> | |
| </g> | |
| <!-- subtask_4_1_1_component_library->ss_task_4_1_1_1_state_management --> | |
| <g id="edge22" class="edge"> | |
| <title>subtask_4_1_1_component_library->ss_task_4_1_1_1_state_management</title> | |
| <path fill="none" stroke="#4a4a4a" d="M821,-236.68C821,-223.91 821,-206.96 821,-194.22"/> | |
| </g> | |
| <!-- sss_task_4_1_1_1_1_navigation_system --> | |
| <g id="node24" class="node"> | |
| <title>sss_task_4_1_1_1_1_navigation_system</title> | |
| <path fill="#d1d1d1" stroke="black" d="M886.5,-115C886.5,-115 755.5,-115 755.5,-115 749.5,-115 743.5,-109 743.5,-103 743.5,-103 743.5,-91 743.5,-91 743.5,-85 749.5,-79 755.5,-79 755.5,-79 886.5,-79 886.5,-79 892.5,-79 898.5,-85 898.5,-91 898.5,-91 898.5,-103 898.5,-103 898.5,-109 892.5,-115 886.5,-115"/> | |
| <text text-anchor="middle" x="821" y="-94.8" font-family="Times,serif" font-size="9.00">Navigation & Routing System</text> | |
| </g> | |
| <!-- ss_task_4_1_1_1_state_management->sss_task_4_1_1_1_1_navigation_system --> | |
| <g id="edge23" class="edge"> | |
| <title>ss_task_4_1_1_1_state_management->sss_task_4_1_1_1_1_navigation_system</title> | |
| <path fill="none" stroke="#4a4a4a" d="M821,-157.68C821,-144.91 821,-127.96 821,-115.22"/> | |
| </g> | |
| <!-- ft_4_1_1_1_1_1_offline_capability --> | |
| <g id="node25" class="node"> | |
| <title>ft_4_1_1_1_1_1_offline_capability</title> | |
| <path fill="#d5d5d5" stroke="black" d="M884,-36C884,-36 758,-36 758,-36 752,-36 746,-30 746,-24 746,-24 746,-12 746,-12 746,-6 752,0 758,0 758,0 884,0 884,0 890,0 896,-6 896,-12 896,-12 896,-24 896,-24 896,-30 890,-36 884,-36"/> | |
| <text text-anchor="middle" x="821" y="-15.8" font-family="Times,serif" font-size="9.00">Offline Data Synchronization</text> | |
| </g> | |
| <!-- sss_task_4_1_1_1_1_navigation_system->ft_4_1_1_1_1_1_offline_capability --> | |
| <g id="edge24" class="edge"> | |
| <title>sss_task_4_1_1_1_1_navigation_system->ft_4_1_1_1_1_1_offline_capability</title> | |
| <path fill="none" stroke="#4a4a4a" d="M821,-78.68C821,-65.91 821,-48.96 821,-36.22"/> | |
| </g> | |
| <!-- task_5_1_automated_testing --> | |
| <g id="node27" class="node"> | |
| <title>task_5_1_automated_testing</title> | |
| <path fill="#c5c5c5" stroke="black" d="M1130.5,-352C1130.5,-352 957.5,-352 957.5,-352 951.5,-352 945.5,-346 945.5,-340 945.5,-340 945.5,-328 945.5,-328 945.5,-322 951.5,-316 957.5,-316 957.5,-316 1130.5,-316 1130.5,-316 1136.5,-316 1142.5,-322 1142.5,-328 1142.5,-328 1142.5,-340 1142.5,-340 1142.5,-346 1136.5,-352 1130.5,-352"/> | |
| <text text-anchor="middle" x="1044" y="-331.5" font-family="Times,serif" font-size="10.00">Automated Test Suite Development</text> | |
| </g> | |
| <!-- phase_testing->task_5_1_automated_testing --> | |
| <g id="edge26" class="edge"> | |
| <title>phase_testing->task_5_1_automated_testing</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1044,-394.68C1044,-381.91 1044,-364.96 1044,-352.22"/> | |
| </g> | |
| <!-- subtask_5_1_1_integration_testing --> | |
| <g id="node28" class="node"> | |
| <title>subtask_5_1_1_integration_testing</title> | |
| <path fill="#c9c9c9" stroke="black" d="M1093.5,-273C1093.5,-273 992.5,-273 992.5,-273 986.5,-273 980.5,-267 980.5,-261 980.5,-261 980.5,-249 980.5,-249 980.5,-243 986.5,-237 992.5,-237 992.5,-237 1093.5,-237 1093.5,-237 1099.5,-237 1105.5,-243 1105.5,-249 1105.5,-249 1105.5,-261 1105.5,-261 1105.5,-267 1099.5,-273 1093.5,-273"/> | |
| <text text-anchor="middle" x="1043" y="-252.8" font-family="Times,serif" font-size="9.00">API Integration Testing</text> | |
| </g> | |
| <!-- task_5_1_automated_testing->subtask_5_1_1_integration_testing --> | |
| <g id="edge27" class="edge"> | |
| <title>task_5_1_automated_testing->subtask_5_1_1_integration_testing</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1043,-315.68C1043,-302.91 1043,-285.96 1043,-273.22"/> | |
| </g> | |
| <!-- ss_task_5_1_1_1_device_testing --> | |
| <g id="node29" class="node"> | |
| <title>ss_task_5_1_1_1_device_testing</title> | |
| <path fill="#cdcdcd" stroke="black" d="M1119,-194C1119,-194 965,-194 965,-194 959,-194 953,-188 953,-182 953,-182 953,-170 953,-170 953,-164 959,-158 965,-158 965,-158 1119,-158 1119,-158 1125,-158 1131,-164 1131,-170 1131,-170 1131,-182 1131,-182 1131,-188 1125,-194 1119,-194"/> | |
| <text text-anchor="middle" x="1042" y="-173.8" font-family="Times,serif" font-size="9.00">Multi-Device Compatibility Testing</text> | |
| </g> | |
| <!-- subtask_5_1_1_integration_testing->ss_task_5_1_1_1_device_testing --> | |
| <g id="edge28" class="edge"> | |
| <title>subtask_5_1_1_integration_testing->ss_task_5_1_1_1_device_testing</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1043,-236.68C1043,-223.91 1043,-206.96 1043,-194.22"/> | |
| </g> | |
| <!-- sss_task_5_1_1_1_1_performance_testing --> | |
| <g id="node30" class="node"> | |
| <title>sss_task_5_1_1_1_1_performance_testing</title> | |
| <path fill="#d1d1d1" stroke="black" d="M1103.5,-115C1103.5,-115 978.5,-115 978.5,-115 972.5,-115 966.5,-109 966.5,-103 966.5,-103 966.5,-91 966.5,-91 966.5,-85 972.5,-79 978.5,-79 978.5,-79 1103.5,-79 1103.5,-79 1109.5,-79 1115.5,-85 1115.5,-91 1115.5,-91 1115.5,-103 1115.5,-103 1115.5,-109 1109.5,-115 1103.5,-115"/> | |
| <text text-anchor="middle" x="1041" y="-94.8" font-family="Times,serif" font-size="9.00">Performance & Load Testing</text> | |
| </g> | |
| <!-- ss_task_5_1_1_1_device_testing->sss_task_5_1_1_1_1_performance_testing --> | |
| <g id="edge29" class="edge"> | |
| <title>ss_task_5_1_1_1_device_testing->sss_task_5_1_1_1_1_performance_testing</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1041,-157.68C1041,-144.91 1041,-127.96 1041,-115.22"/> | |
| </g> | |
| <!-- ft_5_1_1_1_1_1_security_audit --> | |
| <g id="node31" class="node"> | |
| <title>ft_5_1_1_1_1_1_security_audit</title> | |
| <path fill="#d5d5d5" stroke="black" d="M1115.5,-36C1115.5,-36 964.5,-36 964.5,-36 958.5,-36 952.5,-30 952.5,-24 952.5,-24 952.5,-12 952.5,-12 952.5,-6 958.5,0 964.5,0 964.5,0 1115.5,0 1115.5,0 1121.5,0 1127.5,-6 1127.5,-12 1127.5,-12 1127.5,-24 1127.5,-24 1127.5,-30 1121.5,-36 1115.5,-36"/> | |
| <text text-anchor="middle" x="1040" y="-15.8" font-family="Times,serif" font-size="9.00">Security Vulnerability Assessment</text> | |
| </g> | |
| <!-- sss_task_5_1_1_1_1_performance_testing->ft_5_1_1_1_1_1_security_audit --> | |
| <g id="edge30" class="edge"> | |
| <title>sss_task_5_1_1_1_1_performance_testing->ft_5_1_1_1_1_1_security_audit</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1041,-78.68C1041,-65.91 1041,-48.96 1041,-36.22"/> | |
| </g> | |
| <!-- task_6_1_app_store_prep --> | |
| <g id="node33" class="node"> | |
| <title>task_6_1_app_store_prep</title> | |
| <path fill="#c5c5c5" stroke="black" d="M1308,-352C1308,-352 1196,-352 1196,-352 1190,-352 1184,-346 1184,-340 1184,-340 1184,-328 1184,-328 1184,-322 1190,-316 1196,-316 1196,-316 1308,-316 1308,-316 1314,-316 1320,-322 1320,-328 1320,-328 1320,-340 1320,-340 1320,-346 1314,-352 1308,-352"/> | |
| <text text-anchor="middle" x="1252" y="-331.5" font-family="Times,serif" font-size="10.00">App Store Optimization</text> | |
| </g> | |
| <!-- phase_deployment->task_6_1_app_store_prep --> | |
| <g id="edge32" class="edge"> | |
| <title>phase_deployment->task_6_1_app_store_prep</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1252,-394.68C1252,-381.91 1252,-364.96 1252,-352.22"/> | |
| </g> | |
| <!-- subtask_6_1_1_beta_release --> | |
| <g id="node34" class="node"> | |
| <title>subtask_6_1_1_beta_release</title> | |
| <path fill="#c9c9c9" stroke="black" d="M1315,-273C1315,-273 1189,-273 1189,-273 1183,-273 1177,-267 1177,-261 1177,-261 1177,-249 1177,-249 1177,-243 1183,-237 1189,-237 1189,-237 1315,-237 1315,-237 1321,-237 1327,-243 1327,-249 1327,-249 1327,-261 1327,-261 1327,-267 1321,-273 1315,-273"/> | |
| <text text-anchor="middle" x="1252" y="-252.8" font-family="Times,serif" font-size="9.00">Beta Testing with Real Users</text> | |
| </g> | |
| <!-- task_6_1_app_store_prep->subtask_6_1_1_beta_release --> | |
| <g id="edge33" class="edge"> | |
| <title>task_6_1_app_store_prep->subtask_6_1_1_beta_release</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1252,-315.68C1252,-302.91 1252,-285.96 1252,-273.22"/> | |
| </g> | |
| <!-- ss_task_6_1_1_1_marketing_campaign --> | |
| <g id="node35" class="node"> | |
| <title>ss_task_6_1_1_1_marketing_campaign</title> | |
| <path fill="#cdcdcd" stroke="black" d="M1326,-194C1326,-194 1180,-194 1180,-194 1174,-194 1168,-188 1168,-182 1168,-182 1168,-170 1168,-170 1168,-164 1174,-158 1180,-158 1180,-158 1326,-158 1326,-158 1332,-158 1338,-164 1338,-170 1338,-170 1338,-182 1338,-182 1338,-188 1332,-194 1326,-194"/> | |
| <text text-anchor="middle" x="1253" y="-173.8" font-family="Times,serif" font-size="9.00">Pre-Launch Marketing Campaign</text> | |
| </g> | |
| <!-- subtask_6_1_1_beta_release->ss_task_6_1_1_1_marketing_campaign --> | |
| <g id="edge34" class="edge"> | |
| <title>subtask_6_1_1_beta_release->ss_task_6_1_1_1_marketing_campaign</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1252,-236.68C1252,-223.91 1252,-206.96 1252,-194.22"/> | |
| </g> | |
| <!-- sss_task_6_1_1_1_1_production_release --> | |
| <g id="node36" class="node"> | |
| <title>sss_task_6_1_1_1_1_production_release</title> | |
| <path fill="#d1d1d1" stroke="black" d="M1325.5,-115C1325.5,-115 1180.5,-115 1180.5,-115 1174.5,-115 1168.5,-109 1168.5,-103 1168.5,-103 1168.5,-91 1168.5,-91 1168.5,-85 1174.5,-79 1180.5,-79 1180.5,-79 1325.5,-79 1325.5,-79 1331.5,-79 1337.5,-85 1337.5,-91 1337.5,-91 1337.5,-103 1337.5,-103 1337.5,-109 1331.5,-115 1325.5,-115"/> | |
| <text text-anchor="middle" x="1253" y="-94.8" font-family="Times,serif" font-size="9.00">Production Environment Release</text> | |
| </g> | |
| <!-- ss_task_6_1_1_1_marketing_campaign->sss_task_6_1_1_1_1_production_release --> | |
| <g id="edge35" class="edge"> | |
| <title>ss_task_6_1_1_1_marketing_campaign->sss_task_6_1_1_1_1_production_release</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1253,-157.68C1253,-144.91 1253,-127.96 1253,-115.22"/> | |
| </g> | |
| <!-- ft_6_1_1_1_1_1_post_launch_monitoring --> | |
| <g id="node37" class="node"> | |
| <title>ft_6_1_1_1_1_1_post_launch_monitoring</title> | |
| <path fill="#d5d5d5" stroke="black" d="M1336.5,-36C1336.5,-36 1175.5,-36 1175.5,-36 1169.5,-36 1163.5,-30 1163.5,-24 1163.5,-24 1163.5,-12 1163.5,-12 1163.5,-6 1169.5,0 1175.5,0 1175.5,0 1336.5,0 1336.5,0 1342.5,0 1348.5,-6 1348.5,-12 1348.5,-12 1348.5,-24 1348.5,-24 1348.5,-30 1342.5,-36 1336.5,-36"/> | |
| <text text-anchor="middle" x="1256" y="-15.8" font-family="Times,serif" font-size="9.00">Post-Launch Analytics & Monitoring</text> | |
| </g> | |
| <!-- sss_task_6_1_1_1_1_production_release->ft_6_1_1_1_1_1_post_launch_monitoring --> | |
| <g id="edge36" class="edge"> | |
| <title>sss_task_6_1_1_1_1_production_release->ft_6_1_1_1_1_1_post_launch_monitoring</title> | |
| <path fill="none" stroke="#4a4a4a" d="M1253,-78.68C1253,-65.91 1253,-48.96 1253,-36.22"/> | |
| </g> | |
| </g> | |
| </svg> | |